ibatis学习笔记(完整)

1.       Ibatis是开源软件组织Apache推出的一种轻量级的对象关系映射(ORM)框架,和Hibernate、Toplink等在java编程的对象持久化方面深受开发人员欢迎。

对象关系映射(ORM):简单原理是通过面向对象方式操作关系型数据库,目前存储数据最常用最流行的工具是关系型数据库,其操作方式是通过SQL语句操作数据库的表,但是对于Java面向对象编程语言中,所有的操作对象都是对象,因此对象关系映射就是把数据库表和java编程语言中的对象对应起来,把表的列同java对象中的字段对应起来,程序员在程序开发过程中不再是使用原始SQL语句去直接操作数据库,而是通过ORM提供的查询语句操作普通的java对象,ORM将其提供的对普通java对象的查询语句翻译成SQL语句来操作数据库,从而屏蔽了不同数据库SQL语句的差别,简化了程序开发工作,提高了程序的可移植性。

2.       Ibatis开发的准备工作:

(1).将Ibaits相关的jar包添加到工程的类路径下。

(2).Ibatis工程的主要配置文件为:

a.Ibatis的总配置文件SqlMapConfig.xml。

b.Ibatis的实体映射文件。

3.Ibatis总配置文件:

Ibatis的总配置文件主要是配置数据库连接相关信息,和Ibatis实体映射文件。其写法示例如下:

 

[xhtml]  view plain copy
 
  1.   
  2. “http://ibatis.apache.org//dtd//sql-map-config-2.dtd”>  
  3.   
  4.          
  5.                 
  6.                        
  7.                        
  8.                        
  9.                        
  10.                      ……  
  11.                 
  12.          
  13.          
  14.        ……  
  15.   

 

 

4.  Ibatis实体映射文件的写法示例:

Ibatis的实体映射文件是Ibatis框架的核心,起作用是将Java的持久化实体对象和关系型数据库映射起来,其内容主要是包括java实体各种增删改查操作对应的数据库语句。其写法示例如下:

 

[xhtml]  view plain copy
 
  1.   
  2. “http://ibatis.apache.org//dtd//sql-map-2.dtd”>  
  3.   
  4.          
  5.          
  6.          
  7.                 
  8.               ……  
  9.          
  10.        ……  
  11.   

 

 

5.       读取Ibatis的总配置文件得到SqlMapClient:

 

[java]  view plain copy
 
  1. private static SqlMapClient sqlMapClient = null;  
  2. static{  
  3.        try{  
  4.        Reader reader = com.ibatis.common.resource.Resources.getResourceAsReader(“Ibatis总配置文件路径”);  
  5.        sqlMapClient = com.ibatis.sqlMap.client.SqlMapClientBuilder.builderSqlMapClient(reader);  
  6.        reader.close();  
  7. }catch(IOException e){  
  8.        异常处理…….  
  9. }  
  10. }  

 

 

6.       Ibatis的SQL Map:

(1).Ibatis的SQL Map的核心概念是Mapped Statement。Mapped Statement可以使用任意的SQL语句,并拥有parameterMap/parameterClass(输入参数)和resultMap/resultClass(输出结果)。

(2). 元素是个通用的声明,可以用于任何类型的SQL语句,但是通常使用具体的类型,如:查询使用  

 

 

注意:这里演示的是最简单的查询,其结果是一个实体的集合。

8.       在java对象中使用Ibatis的statement操作:

(1).根据Ibatis总配置文件得到SqlMapClient对象,具体方法参见“5. 读取Ibatis的总配置文件得到SqlMapClient”。

(2).使用SqlMapClient对象的queryForObject(),queryForList(),insert(),delete(),update()方法。这些方法都需要一个传递一个参数:在实体映射文件中定义的操作statementId,如果这些定义的操作还需要输入参数,则还需要传递输入参数对象。简单用法如下:

实体对象类型 对象= sqlMapClient.queryForObject(“实体映射文件命名空间.statementId”, “查询条件参数”);

9.       Ibatis主键自动生成:

通过使用