ibatis 实例入门

首先建立表t_user
CREATE TABLE public.t_user
(
uid int4,
name varchar(20),
sex int4,
age int4,
addr varchar(50),
zipcode varchar(6),
) WITH OIDS;

整个project的目录如下图:
[url]http://blog.yesky.com/Blog/images/yesky_com/zelime/20050401090959_529.JPG [/url]

然后把所需要的包引入(可把iBATIS_JPetStore-4.0.5的lib目录下的包直接拿过来用,另外还要一个jdbc的包)。如下图:

[url]http://blog.yesky.com/Blog/images/yesky_com/zelime/20050401090854_270.JPG[/url]


新建一个sql-map-config.xml:
<?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>

<properties
resource="sqlmap/map/SqlMapConfigExample.properties" />

<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false" />

<transactionManager type="JDBC" >
<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>


<sqlMap resource="sqlmap/map/User.xml" />
</sqlMapConfig>


新建数据库资源文件SqlMapConfigExample.properties
driver=org.postgresql.Driver
url=jdbc:postgresql://localhost/testapp
username=zzz
password=zzz

类user.java:
package com.ibatis.my.domain;
public class User {
public int uid;
public String name;
public int sex;
public int age;
public String addr;
public String zipcode;

public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
}


配置user.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 namespace="User">
<select id="getUser" parameterClass="java.lang.Integer">
SELECT * FROM t_user WHERE uid=#uid#
</select>
<insert id="insertUser" parameterClass="com.ibatis.my.domain.User">
INSERT INTO
t_user(uid, name, sex, age, addr, zipcode)
VALUES (#uid#, #name#, #sex#, #age#, #addr#, #zipcode#)
</insert>
</sqlMap>

建一个myapp.java
import java.io.Reader;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;


public class Myapp {
private static final SqlMapClient sqlMap;
static {
try {
String resource = "sqlmap/map/sql-map-config.xml";
Reader reader = Resources.getResourceAsReader (resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
}
catch (Exception e) {
e.printStackTrace();
throw new RuntimeException ("Error initializing MyApp class. Cause:"+e);
}
}
public static SqlMapClient getSqlMapInstance () {
return sqlMap;
}
}


操作类Opperates.java
package com.ibatis.my.action;

import com.ibatis.my.domain.User;
import com.ibatis.sqlmap.client.SqlMapClient;


public class Opperates {

public static void main(String[] args) {
User newUser= new User();
newUser.setUid(5);
newUser.setName("oring");
newUser.setSex(2);
newUser.setAge(2);

newUser.setAddr("dfghg");
newUser.setZipcode("301");
SqlMapClient sqlMap = Myapp.getSqlMapInstance();
try{

Integer uid= new Integer(1);
// User user = (User) sqlMap.queryForObject ("getUser", uid);
sqlMap.insert ("insertUser", newUser);
}
catch(Exception e){
e.printStackTrace();
}

}
}



在Eclipse中选择Run As Java Application运行Opperates.java,即可看到数据库中添加了一条记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值