iBatis第二章:搭建一个简单的iBatis开发环境
使用 iBatis 框架开发的基本步骤如下:
1、新建项目(iBatis是持久层框架,可以运用到java工程或者web工程都可以)
   
   这里我们建立一个 web 工程测试。
2、导入相应的框架 jar 包
   
   需要导入数据库对应的驱动包:这里是连接 mysql,用mysql-connection-java-3.1.13-bin.jar
   同时需要导入 iBatis 框架包:ibatis-conmmon-2.jar、 ibatis-sqlmap-2.jar
3、开发项目中的实例模型(假设数据库对应的表已经建好)
   
   package com.test.bean;
/**
 * @author Administrator
 *  Student 实体类
 */
public class Student {
	
	private String name;
	
	private String sex;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}
数据库对应建立表如下:

4、开发 iBatis 数据库配置文件
   在项目中新建一个 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">
        <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
        <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/ibatis"/>
        <property name="JDBC.Username" value="root"/>
        <property name="JDBC.Password" value="123456"/>
      </dataSource>
   </transactionManager>
   <!-- 引用具体的  sql 配置文件 -->
   <sqlMap resource="config/sqlmap-mapping-student.xml"/>
   
</sqlMapConfig>
5、开发数据库连接工具类
   这个类主要用于从配置文件读取 iBatis 的配置,提供操作数据源的对象。
package com.test.dbutil;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
/**
 * @author Administrator
 *  数据源连接工具类
 */
public class DBUtils {
	private static SqlMapClient sqlMapClient = null;
	static{
		try {
			//得到数据源配置文件的信息
			Reader reader = Resources.getResourceAsReader("sqlmap-config.xml");
			//SqlMapClient是 iBatis 操作数据库的接口,通常CRUD都是通过它来完成
			sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
			//关闭 reader 流
			reader.close();
		} catch (Exception e) {
			System.out.println("获取数据源出错:"+e.getMessage());
		}
	}
	/**
	 * 得到操作数据库的实例
	 * @return
	 */
	public static SqlMapClient getInstance(){
		return sqlMapClient;
	}
}
6、编写具体的 sql 配置文件
   iBatis一般将具体的 sql 写在单独的配置文件中,在 iBatis 核心配置文件中进行引入即可。下面是一个简单的示例:
sqlmap-mapping-student.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> 
    <select id="my_queryForMap" resultClass="com.test.bean.Student">
      select name,sex from t_stu
   </select>
</sqlMap> 
7、从工具中得到数据库操作对象,进行测试
import java.sql.SQLException;
import java.util.List;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.test.bean.Student;
public class TestIbatis {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SqlMapClient sqlMapClient = DBUtils.getInstance(); 
		try {
               //这里的my_queryForMap对应sqlmap-mapping-student.xml中的<select>标签中的id,后面可以传递一 
               //个参数作为查询条件,这里我们由于查询全部,所以没有传递。具体后面介绍。
			List<Student> stuList = sqlMapClient.queryForList("my_queryForMap", null);
			for(Student s:stuList){
				System.out.println(s.getName());
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
这里需要说明一下:在需要使用iBatis与数据库交互的地方,我们只要得到了sqlMapClient对象,就有了与数据库打交道的工具,这个对象提供了一系列操作数据的方法,后面我们着重介绍。 
下面提供一个项目的整体结构图。后期我们开发不同的模型时,值需要将不同的模型分别建立一个 sql 配置文件,将与其相关的sql 配置到里面,并引入到 iBatis 核心配置文件中即可。

posted on 2017-10-10 19:37 funnyboy0128 阅读(458) 评论(1) 收藏 举报
 
                    
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号 
