##首先准备一个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自己建个表测试去吧。