本文主要是介绍持久化层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
持久化层:将业务逻辑与数据访问逻辑相分离
举例:window系统中磁盘读写操作与文件操作的分离
dao模式:data accessor模式(将数据访问加以封装,实现数据访问和业务逻辑的分离)和active domain object模式(实现业务数据的对象化封装javabean)的组合,即data access object
dao模式的优点:1、数据存储逻辑的分离
2、数据访问底层实现的分离(轻松部署在不同的数据库平台上)
3、资源管理和调度的分离(数据库连接池与缓存机制大大提高系统性能)
4、数据抽象(业务逻辑更加清晰简洁,利于日后维护)
daoFactory:实现底层访问实现的参数配置功能,为增强产品部署能力提供强有力的支持
导致持久层性能低下的重要原因:失败的资源管理调度机制
解决方法:数据库连接池
数据库连接池基本原理:在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法
数据库连接池优势:1、资源重用2、更快的系统响应速度3、新的资源分配手段4、统一的连接管理,避免数据库连接泄露
连接池常用组件:apache Jakarta Commons DBCP,Proxool
主流的几套JDBC封装框架:hibernate、apache OJB、ibatis、CMP、toplink
持久化框架的好处:减少乏味的代码、更加面向对象的设计、更好的性能、更好的移植性
持久层框架的实现,常见的有:Java系列:Apache OJB ()Cayenne ()Jaxor ()Hibernate ()iBatis ()jRelationalFramework ()mirage ()SMYLE ()TopLink ()其中 TopLink 是 Oracle 的商业产品,其他均为开源项目。其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位,甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准。而且其中的许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范的标准,这也是开源项目影响工业领域标准的有力见证。.Net系列:EntitysCodeGenerateLINQ TO SQLGroveRungoo.EnterpriseORMFireCode CreatorMyGenerationCodeSmith ProCodeAuto ...其中:EntitysCodeGenerate :是(VB/C#.Net实体代码生成工具)的简称,EntitysCodeGenerate(ECG)是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于面向对象、分层架构、ORM及反射+工厂模式等。支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、DM(达梦)、PowerDesigner文件、Informix、Firebird、MaxDB、Excel等和OleDb、ODBC连接的数据库并可自定义,详见工具的帮助文档和示例。LINQ TO SQL :微软为SqlServer数据库提供的,是.NET Framework 3.5 版的一个组件,提供了用于将关系数据作为对象管理的运行时基础结构。 Grove:即Grove ORM Development Toolkit。包含Grove和Toolkit两部分内容。Grove为ORM提供对象持久、关系对象查询、简单事务处理、简单异常管理等功能。 Rungoo.EnterpriseORM : 是一个基于企业应用架构的代码生成工具,主要适用于B/S模式的应用系统开发。开发语言:C#,支持VS2003和VS2005两个版本的开发平台,同时支持SQL Server2000/2005。 风越代码生成器 [FireCode Creator]是一款商业共享基于多种数据库的程序代码生成软件,可快速建立:添加、编辑、查看、列表、搜索功能。支持的数据库:SQL Server、Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接
这篇关于持久化层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!