ibatis和mybatis对比

ibatis和mybatis对比

ID:34723321

大小:100.18 KB

页数:8页

时间:2019-03-10

ibatis和mybatis对比_第1页
ibatis和mybatis对比_第2页
ibatis和mybatis对比_第3页
ibatis和mybatis对比_第4页
ibatis和mybatis对比_第5页
资源描述:

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

1、从iBatis到MyBatis,你准备好了吗?对于从事JavaEE的开发人员来说,iBatis是一个再熟悉不过的持久层框架了,在Hibernate、JPA这样的一站式对象/关系映射(O/RMapping)解决方案盛行之前,iBaits基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis凭借着易学易用、轻巧灵活等特点,也仍然拥有一席之地。尤其对于擅长SQL的开发人员来说,iBatis对SQL和存储过程的直接支持能够让他们在获得iBatis封装优势的同时而不丧失SQL调优的手段,这是Hibernate/JPA所无法比拟的。具体而言,使用iBati

2、s框架的主要优势主要体现在如下几个方面:首先,iBatis封装了绝大多数的JDBC样板代码,使得开发者只需关注SQL本身,而不需要花费精力去处理例如注册驱动,创建Connection,以及确保关闭Connection这样繁杂的代码。其次,iBatis可以算是在所有主流的持久层框架中学习成本最低,最容易上手和掌握的框架。虽说其他持久层框架也号称门槛低,容易上手,但是等到你真正使用时会发现,要想掌握并用好它是一件非常困难的事。在工作中我需要经常参与面试,我曾听到过很多位应聘者描述,他们所在的项目在技术选型时选择Hibernate,后来发现难以驾驭,不得不将代码用JD

3、BC或者iBatis改写。iBatis自从在Apache软件基金会网站上发布至今,和他的明星兄弟们(HttpServer,Tomcat,Struts,Maven,Ant等等)一起接受者万千Java开发者的敬仰。然而在今年六月中旬,几乎是发布3.0版本的同时,iBatis主页上的一则“ApacheiBATIShasbeenretired”的声明在社区引起了一阵不小的波澜。在Apache寄居六年之后,iBatis将代码托管到GoogleCode。在声明中给出的主要理由是,和Apache相比,GoogleCode更有利于开发者的协同工作,也更能适应快速发布。于此同时,

4、iBatis更名为MyBatis。从iBatis到MyBatis,不只是名称上的变化,MyBatis提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于JDK的泛型和注解特性进行了简化。iBatis确实该退休了,因为一个更为出色的继任者经过10个Beta版本的蜕变已然出现在我们的面前。本文将主要针对MyBatis和iBatis的变化之处进行讨论,以便于读者顺利从iBatis向MyBatis过渡。回页首由一个MyBatis示例开始如果读者接触过一些常用的JavaEE框架,应该都知道这些框架需要提供一个全局配置文件,用于指定程序正常运行所需的设置和

5、参数信息。而针对常用的持久层框架而言(Hibernate、JPA、iBatis等),则通常需要配置两类文件:一类用于指定数据源、事务属性以及其他一些参数配置信息(通常是一个独立的文件,可以称之为全局配置文件);另一类则用于指定数据库表和程序之间的映射信息(可能不止一个文件,我们称之为映射文件)。MyBatis也不例外,虽然其中的一部分可以通过注解的形式进行,但是这两部分内容本身仍是必不可少的。根据iBatis的习惯,我们通常把全局配置文件命名为sqlMapConfig.xml,文件名本身并没有要求,在MyBatis中,也经常会将该文件命名为Configurati

6、on.xml(读完全文后读者也许会发现,在iBatis中经常出现的“sqlMap”在MyBatis中被逐渐淡化了,除了此处,还比如iBatis配置文件的根元素为,指定映射文件的元素为,以及SqlMapClient等等,这个变化正说明,iBatis仅是以SQL映射为核心的框架,而在MyBatis中多以Mapper、Session、Configuration等其他常用ORM框架中的名字代替,体现的无非是两个方面:首先是为了减少开发者在切换框架所带来的学习成本;其次,MyBatis充分吸收了其他ORM框架好的实践,MyBat

7、is现在已不仅仅是一个SQL映射框架了)。在全局配置文件中可以配置的信息主要包括如下几个方面:·properties---用于提供一系列的键值对组成的属性信息,该属性信息可以用于整个配置文件中。·settings---用于设置MyBatis的运行时方式,比如是否启用延迟加载等。·typeAliases---为Java类型指定别名,可以在XML文件中用别名取代Java类的全限定名。·typeHandlers---在MyBatis通过PreparedStatement为占位符设置值,或者从ResultSet取出值时,特定类型的类型处理器会被执行。·objectFac

8、tory---MyBat

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

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

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