iBatis2 实现 增 删 改 查

在最近两年项目开发中 一直都是使用hibernate做数据持久层 我个人练习是使用了iBatis2 灵活的sql 半自动化的ORM 下面是我作为一名初学iBatis的源代码

sqlConfig.xml 配置iBatis访问数据库

<?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="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://192.168.0.250:3306/common" />
<property name="JDBC.Username" value="admin" />
<property name="JDBC.Password" value="admin" />
</dataSource>
</transactionManager>
<sqlMap resource="com/ibatisdemo/user.xml" />
</sqlMapConfig>



user.xml iBatis 配置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>
<typeAlias alias="User" type="com.ibatisdemo.ShnUsers" />

<!-- 无参数的查询 -->
<select id="queryUser" resultClass="User">
select * from shn_users
</select>

<!-- 有参数的查询 -->
<select id="queryUserByUserid" resultClass="User"
parameterClass="int">
select * from shn_users where userid=#userid#
</select>


<!-- 插入数据 -->
<insert id="insertUser" parameterClass="User">
insert into
shn_users(username,passwd,email,createtime,isban,lastupdate
,registerip,userstate)
values(#username#,#passwd#,#email#,#createtime#,#isban#,#lastupdate#
,#registerip#,#userstate#)
</insert>


<!-- 删除数据 -->
<delete id="deleteUser" parameterClass="User">
delete from shn_users where userid=#userid#
</delete>

<!-- 更新数据 -->
<update id="updateUser" parameterClass="User">
update shn_users set username=#username# where userid=#userid#
</update>


<!-- 模糊查询 -->
<select id="likeUser" parameterClass="String" resultClass="User">
select * from shn_users where username like '%$userid$%'
</select>

</sqlMap>




类文件

package com.ibatisdemo;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
* ShnUsers entity.
*
* @author MyEclipse Persistence Tools
*/

public class ShnUsers implements java.io.Serializable {

// Fields

/**
*
*/
private static final long serialVersionUID = 6346476404799232913L;
private Integer userid;
private String username;
private String passwd;
private String email;
private Date createtime;
private Integer isban;
private Date lastupdate;
private String registerip;
private String userstate;
private String grade;
private Integer score;
private Integer rescore;
private String life;
private String question;
private String answer;

}



测试类调用 iBatis方法

public class test {

public static void main(String[] args) {
SqlMapClient sqlMapClient = null;
try {

Reader reader = com.ibatis.common.resources.Resources
.getResourceAsReader("com/ibatisdemo/sqlConfig.xml");
sqlMapClient = com.ibatis.sqlmap.client.SqlMapClientBuilder
.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
// //无参数的查询
// List<ShnUsers> userlist = sqlMapClient.queryForList("queryUser");
// for (ShnUsers user : userlist) {
// System.out.print(user.getUsername()+"\n");
// System.out.print(user.getPasswd()+"\n");
// System.out.print(user.getAnswer()+"\n");
// }
// // 有参数的查询
// ShnUsers us = (ShnUsers) sqlMapClient.queryForObject(
// "queryUserByUserid", 2);
// System.out.print(us.getUsername() + "\n");
// System.out.print(us.getPasswd() + "\n");
// System.out.print(us.getAnswer() + "\n");

// //添加数据
// ShnUsers users=new ShnUsers();
// users.setAnswer("");
// users.setCreatetime(new Date());
// users.setEmail("");
// users.setUsername("");
// users.setPasswd("");
// users.setLife("");
// users.setScore(123);
// sqlMapClient.insert("insertUser", users);


// //删除数据
// ShnUsers userds=new ShnUsers();
// userds.setUserid(729);
// sqlMapClient.delete("deleteUser", userds);

// //更新数据
// ShnUsers userus=new ShnUsers();
// userus.setUsername("123456");
// userus.setUserid(727);
// sqlMapClient.delete("updateUser", userus);


//模糊查询
List<ShnUsers> userlist = sqlMapClient.queryForList("likeUser", "a");
for (ShnUsers user : userlist) {
System.out.print(user.getUsername()+"\n");
System.out.print(user.getPasswd()+"\n");
System.out.print(user.getAnswer()+"\n");
}


} catch (Exception e) {
e.printStackTrace();
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值