由于前两节课搭建了环境和试验成功了Ibatis的插入操作。这节课我们浅度解析sqlMap配置与一些我的发现,我们从简单开始入手Ibatis。
【增】为了方便管理也修改了一些代码,首先就是,插入:
<insert id="insertUser" parameterClass="User">
insert into t_user values (
#id#,#username#,#password#
)
</insert>
我将插入语句,增加了id,这样我就可以根据id来查询了。
<select id="selectUser" resultClass="User" parameterClass="int">
select * from t_user where id=#id#
</select>
//创建用户数据
for(int i=0; i<10; i++){
User user = new User();
user.setId(i);
user.setUsername("terry"+i);
user.setPassword("rola"+i);
sqlMapper.insert("insertUser", user);
}
【注意】将自己的数据库id 属性改为int
执行完这段语句之后。我们会看到数据库添加了我们的命令语句
实验成功,那么我们来讲一下sqlMap配置
1.需要一个user,要知道它是直接添加user类
看下: <insert id="insertUser" parameterClass="User">这句话意思是执行插入语句,然后这个插入方法名字是"insertUser",这个id名你可以随意更改,记得在这里调用 sqlMapper.insert("insertUser", user);的时候括号里面的第一个参数就是这个id名,之所以要取名是因为插入有很多种方法,所以取个名字便于识别。 parameterClass="User"这个意思是插入这个对象的类,就是我们的User。
===================================================================================
【查】查询语句:
sqlMap:
<select id="selectUser" resultClass="User" parameterClass="int">
select * from t_user where id=#id#
</select>
代码这么写:
//查询特定用户的数据
User user = (User)sqlMapper.queryForObject("selectUser", 5);
System.out.println("用户【id="+5+"】的名称是:"+user.getUsername());
结果如图:
============================================================================================
【改】接下来就是我们的更新相当于修改;sqlMap配置如下:
<update id="updateUser" parameterClass="User">
update t_user set username = #username#,password=#password#
where id=#id#
</update>
这里更新的id名为updateUser,将要修改用户名,密码,根据用户id。
然后在User_test里面这样写:
user = new User();
user.setId(3);
user.setUsername("name changed");
user.setPassword("pass changed");
sqlMapper.update("updateUser", user);
现在我们运行看下效果:
可以看到username and passname 已经变成我更改后的名字。
===============================================================================================
【删】
<delete id="deleteUser" parameterClass="int">
delete from t_user where id=#id#
</delete>
我们可以看到删除的类型是根据id,类型是int,所以放入下面代码中不再是user,而是int数字形。
//删除用户的信息
sqlMapper.delete("deleteUser",2);
我们可以看到id=2 的用户数据已经被删掉
到这里简单的增删查改我们已经全部完成,是不是很简单呢?
那么下节课大家跟我一起学习深度剖析sqlMap配置语句,我猜想IBatis所有的秘密应该在这里。