MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,它是iBatis的后序版本。下面了解一下他们的异同:
相同点:
1、都是持久化框架,属于apache下的项目,MyBatis是iBatis的改进版。
2、都封装了jdbc的代码,不用程序员再写注册驱动,获取connect连接等代码
3、都需要配置两类文件,1、配置数据源,事务等信息的全局配置文件;2、用于指定数据库表和程序之间的映射信息的映射文件。
不同点:
1、全局配置文件不同
从以下配置文件可看出有以下几点不同
1.1、引用头不一样,引用的dtd也不一样,iBatis引用时用的是sqlMapConfig,MyBatis用的是configuration
1.2、数据源等信息不一样
1.2、映射文件配置引用不一样, iBatis用的是<sqlMap/>, MyBatis用的是<mappers><mapper /></mappers>
iBatis全局配置文件(部分)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBatis.com//DTD SQL Map Config 2.0//EN" "http://www.iBatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" >
<dataSource type="SIMPLE">
<!-- 其他信息略 -->
</dataSource>
</transactionManager>
<!-- 配置映射文件 -->
<sqlMap resource="com/student/dao/sqlmap/sqlMap.xml" />
</sqlMapConfig>
MyBatis全局配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//MyBatis.org//DTD Config 3.0//EN" "http://MyBatis.org/dtd/MyBatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- 其他信息略 -->
</dataSource>
</environment>
</environments>
&l