持久化层

持久化层:将业务逻辑与数据访问逻辑相分离
举例: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封装框架:hibernateapache OJBibatisCMPtoplink
持久化框架的好处:减少乏味的代码、更加面向对象的设计、更好的性能、更好的移植性

持久层框架的实现,常见的有:
  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系列:
  EntitysCodeGenerate
  LINQ TO SQL
  Grove
  Rungoo.EnterpriseORM
  FireCode Creator
  MyGeneration
  CodeSmith Pro
  CodeAuto ...
  其中:
  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等数据库连接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值