hibernate和mybatis的区别

hibernate和mybatis的区别

ID:34723260

大小:60.97 KB

页数:8页

时间:2019-03-10

hibernate和mybatis的区别_第1页
hibernate和mybatis的区别_第2页
hibernate和mybatis的区别_第3页
hibernate和mybatis的区别_第4页
hibernate和mybatis的区别_第5页
资源描述:

《hibernate和mybatis的区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。一、基本功能Hibernate作为数据持久化的中间件,足以让数据库在业务逻辑层开发中去冬眠。它通过可扩展标记语言(XML)实现了类和数据表之间的映射,使程序员在业务逻辑的开发中面

2、向数据库而改为面向对象开发。使整个项目开发分工更加明确,提高了程序开发的效率。configuration对象:Configuration类负责管理Hibernate的配置信息。Hibernate运行时需要获取一些底层实现的基本信息,其中几个关键属性包括:1.数据库URL2.数据库用户3.数据库用户密码4.数据库JDBC驱动类5.数据库dialect,用于对特定数据库提供支持,其中包含了针对特定数据库特性的实现,如Hibernate数据类型到特定数据库数据类型的映射等。以上信息一般情况下由hibernate.cfg.xml或者hibernate.properties文件来配置,实现与不同数

3、据库的连接。Session对象:Session是持久层操作的基础,相当于JDBC中的Connection:实例通过SessionFactory实例构建:Configurationconfig=newConfiguration().configure();SessionFactorysessionFactory=config.buildSessionFactory();Sessionsession=sessionFactory.openSession();之后我们就可以调用Session所提供的save、find、flush等方法完成持久层操作。因此Session对象也封装了所有对数据库的

4、操作来实现Hibernate对数据库的操纵功能,如:Save()方法实现增加和保存;Delete()方法实现数据的删除;Update()方法实现数据更新和修改;Find()方法实现数据的检索;Hibernate会根据不同的操作自动生成相应的SQL语句,从而实现了程序员对PO对象的操作转化为对数据库关系表的操作。二、使用步骤1.编写Hibernate配置文件Hibernate配置文件有两种,分别是hibernate.cfg.xml文件和hibernate.properties,推荐使用hibernate.cfg.xml。2.PO和映射文件使用middlegen和hibernate-exte

5、nsions从数据库导出PO的映射文件,并在hibernate.cfg.xml当中声明。3.编写DAO对每一张关系表编写一个DAO,提供一组增、删、改、查方法供业务逻辑对数据库操作使用。更多的细节请大家参阅hibernate的网站获取详细的信息。并在各自的实践和开发中加深体会。Ibatis简介相对Hibernate和ApacheOJB等"一站式"ORM解决方案而言,ibatis是一种"半自动化"的ORM实现。所谓"半自动",可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate还是ApacheOJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。

6、程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hibernate或者OJB提供的方法完成持久层操作。程序员甚至不需要对SQL的熟练掌握,Hibernate/OJB会根据制定的存储逻辑,自动生成对应的SQL并调用JDBC接口加以执行。Ibatis最直接的好处就是不但为程序员提供了对象与关系数据库之间的映射,同时提供操作方法与SQL间的直接影射,设计者可以直接为一个方法指定一条SQL语句,从而取得更加准确的数据,同时为优化查询、连接查询提供了方便。一、基本功能作为又一个轻量级的ORM中间件,ibatis除了提供了对数据库基本的增、删、改、查外还提供了连接管理,缓存支持,线程支持

7、,(分布式)事物管理等一套教为完整的数据库管理功能。SqlMapClient对象是ibatis持久层操作的基础,相当于hibernate中的session,提供对SQL映射的方法。insert()方法实现对插入SQL语句的映射;delete()方法实现对删除SQL语句的映射;update()方法实现对更新SQL语句的影射;queryForList()、queryForMap()、queryForObject()、queryForPa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。