iBATIS的是一个持久层框架,可以自动在 Java, .NET, 和Ruby on Rails中与SQL数据库和对象之间的映射。
iBATIS是一个轻量级的框架和持久性API适合持久化的POJO(普通Java对象)。
iBATIS是被称为一个数据映射和映射需要的类的属性和数据库中的表的列之间的参数和结果。
iBATIS和其他持久化框架,如Hibernate之间的显著区别在于,iBATIS强调使用SQL,而其他的框架通常使用一个自定义的查询语言,具有Hibernate查询语言(HQL)或Enterprise JavaBeans的查询语言(EJB QL)。IBATIS底层支持mysql而Hibernate可以支持多种类型的数据库。ibatis可以实现半封装,用户需要自己书写sql语句而Hibernate是全封装。
mybatis与ibatis最大的区别就是mybatis实现了DAO接口与xml映射文件的绑定,可以自动生成接口的具体实现,使用更加方便了一些。ibatis现已更名为mybatis。
ibatis整个实例操作过程包含如下几步
1 导入ibatis所需要的jar包(ibatis-jar)和数据库驱动(ojdbc.jar)
2 建立数据库
3 创建SqlMapConfig.xml文件
<?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>
<properties resource="SqlMapConfig.properties" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
</dataSource>
</transactionManager>
<sqlMap resource="sqlMap_student.xml" />
</sqlMapConfig>
4 创建SqlMapConfig.properties
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=shuang
password=1
5 创建sqlMap_StudentDto.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Test">
<statement id="insert_student"
parameterClass="com.shuang.ibatis.StudentDto">
insert into student(
id,name,age,sex,address) values(
#id#,#name#,#age#,#sex#,#address# )
</statement>
<statement id="delete_all_student"
parameterClass="com.shuang.ibatis.StudentDto">
delete from student
</statement>
<statement id="deleteByID_student"
parameterClass="com.shuang.ibatis.StudentDto">
delete from student where
id = #id#
</statement>
<statement id="updataStudent_test"
parameterClass="com.shuang.ibatis.StudentDto">
update student set
name=#name#,sex=#sex#,age=#age#,address=#address#
where id = #id#
</statement>
<statement id="select_all_student"
resultClass="com.shuang.ibatis.StudentDto">
select * from student order by id
</statement>
<statement id="selectByID_student"
parameterClass="com.shuang.ibatis.StudentDto"
resultClass="com.shuang.ibatis.StudentDto">
select * from student
where id = #id#
order by id
</statement>
</sqlMap>
整个ibatis就配置完成了,下面创建java类
1 创建StudentDto.java
2 创建StudentDto接口
3 创建实现类StudentImpl