iBatis第二章:搭建一個簡單的iBatis開發環境

使用 iBatis 框架開發的基本步驟以下:
一、新建項目(iBatis是持久層框架,能夠運用到java工程或者web工程均可以)

這裏咱們創建一個 web 工程測試。java

二、導入相應的框架 jar 包

須要導入數據庫對應的驅動包:這裏是鏈接 mysql,用mysql-connection-java-3.1.13-bin.jar
同時須要導入 iBatis 框架包:ibatis-conmmon-2.jar、 ibatis-sqlmap-2.jarmysql

三、開發項目中的實例模型(假設數據庫對應的表已經建好)

package com.test.bean;web

/**
* @author Administrator
* Student 實體類
*/
public class Student {

private String name;

private String sex;sql

public String getName() {
return name;
}數據庫

public void setName(String name) {
this.name = name;
}app

public String getSex() {
return sex;
}框架

public void setSex(String sex) {
this.sex = sex;
}工具

}測試

數據庫對應創建表以下:ui


四、開發 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>

五、開發數據庫鏈接工具類
這個類主要用於從配置文件讀取 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;
}
}

六、編寫具體的 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>

七、從工具中獲得數據庫操做對象,進行測試
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 核心配置文件中便可。

相關文章
相關標籤/搜索