*******ibatis 學(xué)習(xí)筆記**********
1.加載ibatis開發(fā)jar包
2.建立配置數(shù)據(jù)庫配置文件
3.建立ibatis的配置文件SqlMapconfig.xml
4.建立于數(shù)據(jù)庫相對(duì)應(yīng)的javabean
5.數(shù)據(jù)庫持久層設(shè)計(jì)
6.根據(jù)DAO模式進(jìn)行編碼設(shè)計(jì)底層調(diào)用類
1.加載ibatis開發(fā)jar包(這里開發(fā)環(huán)境是myeclipse中,建立一個(gè)java工程,這里以老版本的ibatis-2.3.4.726進(jìn)行開發(fā))
2.建立配置數(shù)據(jù)庫配置文件(數(shù)據(jù)庫的配置文件是對(duì)數(shù)據(jù)庫驅(qū)進(jìn)行管理,
也可以將數(shù)據(jù)庫的配置寫到SqlMapConfig.xml中,寫配置文件是便于引用不同的數(shù)據(jù)庫)
3.建立ibatis的配置文件SqlMapconfig.xml
(1)定義文檔類型
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
(2)在ibatis的配置文件中指定數(shù)據(jù)庫配置文件的位置
定義讀取數(shù)據(jù)庫配置的位置
<properties resource="properties/dbproperties.properties" />
(3)數(shù)據(jù)庫連接管理
具體指定連接的驅(qū)動(dòng)類型
<transactionManager type="JDBC">
數(shù)據(jù)管理形式
<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>
(4)調(diào)用數(shù)據(jù)庫持久層設(shè)計(jì)(實(shí)際開發(fā)中時(shí)先建立好數(shù)據(jù)庫操作后然在這里注冊)
數(shù)據(jù)庫持久層的調(diào)用
<sqlMap resource="com/li/ibatisxml/Person.xml" />
4建立與數(shù)據(jù)庫對(duì)應(yīng)的javaben
根據(jù)需要對(duì)數(shù)據(jù)庫的字段生成setter和getter方法
5建立數(shù)據(jù)庫操作設(shè)計(jì)
建立的對(duì)javabean的操作即Person.xml(注意文檔類型)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
指定一個(gè)操作的命名空間
<sqlMap namespace="Person">
為操作類指定一個(gè)簡寫
<typeAlias alias="person" type="com.li.bean.Person" />
指定一個(gè)調(diào)用名稱和返回值類型
<select id="listallperson" resultClass="person">
select * from Person
</select>
</sqlMap>
6編寫DAO設(shè)計(jì)進(jìn)行ibats的調(diào)用
(1)在調(diào)用類里面進(jìn)行ibats的注冊
//加載ibats的管理配置
static String resource = "com/li/ibatisxml/SqlMapconfig.xml";
private static SqlMapClient sqlmapclient;
Reader reader = Resources.getResourceAsReader(resource);
//獲得ibatis的調(diào)用客戶端
sqlmapclient = SqlMapClientBuilder.buildSqlMapClient(reader);
(2)調(diào)用ibatis
方法名字就是xml中指定的方法名稱
sqlmapclient.queryForList("listallperson");
程序例子