您的位置:首页 > 其它

ibatis-2.3.4.726学习(一) 单表对象操作

2009-03-13 13:39 302 查看
最近公司做一个项目,持久层框架项目经理决定采用ibatis,由于ibatis并不象hibernate那么主流,所以相关资料比较少一点,所以记录了一下自己学习ibatis的一些心得,与大家交流.

以User类为例子。

数据库表这里就省略了。

User类:

public class User {
private int userid;
private String username;
private String password;
private String dept;
private String role;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
@Override
public String toString() {
String content = "userid=" + this.userid + "/tusername="
+ this.username + "/tdept=" + this.dept +"/trole=" +this.role;
return content;
}
}


ibatis sqlMapping配置文件:

<?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">
<select id="queryAllUser"  resultClass="com.longsky.ibatis.user.model.User">
select * from user_table
</select>
<select id="queryUserById"  parameterClass="int" resultClass="com.longsky.ibatis.user.model.User">
select * from user_table where userid= #userid#
</select>
<select id="queryUserByName" parameterClass="String" resultClass="com.longsky.ibatis.user.model.User">
select * from user_table where username like '%$username$%'
</select>
<insert id="addUser" parameterClass="com.longsky.ibatis.user.model.User">
insert into user_table (username , password ,dept ,role)
values(#username# , #password# ,#dept# ,#role#)
</insert>
<delete id="deleteUserById" parameterClass="int">
delete from user_table where userid=#userid#
</delete>
<update id="updateUserById" parameterClass="com.longsky.ibatis.user.model.User">
update user_table
set username=#username#,password = #password# ,dept = #dept# ,role =#role#
where userid=#userid#
</update>
</sqlMap>


测试类方法:

public int deleteUserById(int userid) {
int relsult=0;
try {
relsult=	 sqlMapClient.delete("deleteUserById",userid);
} catch (SQLException e) {
e.printStackTrace();
}
return relsult;
}
@SuppressWarnings("unchecked")
public List<User> queryAllUser() {
List<User> list=null;
try {
list=sqlMapClient.queryForList("queryAllUser");
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public User queryUserById(int userid) {
User user=null;
try {
user = (User)sqlMapClient.queryForObject("queryUserById",userid);
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
@SuppressWarnings("unchecked")
public List<User> queryUserByName(String username) {
List<User> list=null;
try {
list=sqlMapClient.queryForList("queryUserByName",username);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public void updateUserById(User user) {
try {
sqlMapClient.update("updateUserById", user);
} catch (SQLException e) {
e.printStackTrace();
}
}


这个例子可以作为学习ibatis的入门例子,学习ibatis的入门。(待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: