##首先準備一個JavaBean吧,這是最基本的。鑒于是一個基礎的測試程序,就簡單一點好了。如下:
package com.testidatis.sample;
import java.io.*;
import java.util.*;
public class User implements Serializable {
?private String id;
?private String pwd;
?private String xb;
?private String grqk;
?public String getGrqk() {
??return grqk;
?}
?public void setGrqk(String grqk) {
??this.grqk = grqk;
?}
?public String getId() {
??return id;
?}
?public void setId(String id) {
??this.id = id;
?}
?public String getPwd() {
??return pwd;
?}
?public void setPwd(String pwd) {
??this.pwd = pwd;
?}
?public String getXb() {
??return xb;
?}
?public void setXb(String xb) {
??this.xb = xb;
?}
}
##下一步就是SQL MAP的配置文件,也寫一個最簡單的,其他屬性可以參照網上的教程,網址是
http://www.baidu.com
? 和?
http://www.google.com
? 連接數據庫的參數我直接寫入配置文件了,也可以寫在一個*.properties的配置文件中。代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig?????
??? PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"?????
??? "
http://ibatis.apache.org/dtd/sql-map-config-2.dtd
">
<sqlMapConfig>
?<transactionManager type="JDBC">
??<dataSource type="SIMPLE">
????? <property name="JDBC.Driver" value="org.hsqldb.jdbcDriver"/>
???<property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" />
???<property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.1.90:1521:orcl" />
???<property name="JDBC.Username" value="fortest" />
???<property name="JDBC.Password" value="123" />
??</dataSource>
??</transactionManager>
??<sqlMap resource="com/testidatis/sample/User.xml" />
</sqlMapConfig>
##第三步了:SQL Map的映射文件
這一步沒什么好說的,跟普通的T-SQL語句很類似,網上看資料吧!
代碼如下:
<?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
">
<sqlMap namespace="User">
?<typeAlias alias="user" type="com.testidatis.sample.User" />
?
?<select id="getUser" parameterClass="java.lang.String" resultClass="user">
?? select id,pwd,xb from t_user
?? where id=#id#
?</select>
?
?<update id="updateUser" parameterClass="user">
??<![CDATA[
? update t_user
? set pwd=#pwd#,
????? xb=#xb#
? where id=#id#
?]]>
?</update>
?
?<insert id="insertUser" parameterClass="user">
??insert into t_user(id,pwd,xb) values(#id#,#pwd#,#xb#)
?</insert>
?
?<delete id="deleteUser" parameterClass="java.lang.String">
??delete from t_user where id=#id#
?</delete>
</sqlMap>
##最后一步:測試咱們的ibatis吧
package com.testidatis.sample;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.ibatis.common.resources.Resources;
public class TestMain {
?/**
? * @param args
? * @throws IOException
? * @throws SQLException
? */
?public static void main(String[] args) throws IOException, SQLException {
??
??// TODO Auto-generated method stub
??String resource="com/testidatis/sample/SqlMapConfig.xml";
??Reader reader;
??
??reader=Resources.getResourceAsReader(resource);
??//SqlMapClientBuilder xmlBuilder=new SqlMapClientBuilder();
???
??SqlMapClient sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);
?? try{
???sqlMap.startTransaction();
???User user=new User();
???user.setId("00100");
???user.setPwd("Erica");
???user.setXb("F");
???sqlMap.insert("insertUser",user);
???sqlMap.commitTransaction();
???
???}catch(Exception e){
????System.out.println("連接數據出錯");
???}
???finally{
????sqlMap.endTransaction();
???}
???System.out.println("連接數據庫成功");
??}
}
其實也沒什么難的,多看教程就OK了!
測試類中的部分代碼也可以封裝一下,簡單工廠模式就可以,返回類型?那當然是SqlMapClient的了,呵呵。
數據庫的連接Oracle,其他數據庫方法都是大同小異。
根據我的JavaBean自己建個表測試去吧。