MicroFish

Open & Open hits
随笔 - 33, 文章 - 2, 评论 - 4, 引用 - 0
数据加载中……

编写你的第一个ibatis程序

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

posted on 2006-09-05 10:29 刘璐 阅读(345) 评论(0)  编辑  收藏 所属分类: ibatis


只有注册用户登录后才能发表评论。


网站导航: