源代码:MybatisDemo增删改查
1、修改用户信息、删除用户:
比较简单,就一起做了(电脑实在是太卡了,没钱换==)
还是要先在user.xml里面写sql语句(注:参数多了就用pojo类型,然后再赋值,直接传入整个pojo类)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 命名空间,用于隔离sql语句,后续会有重要作用 -->
<mapper namespace="user">
<!-- 跟新用户,设置id,设置参数类型(因为有很多的参数,所以就用pojo类型了) -->
<update id="updateUser" parameterType="cn.nupt.pojo.User" >
UPDATE
`mybatis`.`user`
SET
`username` = #{username},
`address` = #{address}
WHERE `id` = #{id} ;
</update>
<!-- 删除用户 -->
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
</mapper>
同样的,再测试类里面写一下:
注意:我们调用setValue语句的时候,只有sql语句里面set了才有用,就算在这里加了日期(如下所示),但是因为sql语句里没有set设置,所以不会更新到数据库
package cn.nupt.mybatis.test;
import java.util.Date;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;
import cn.nupt.mybatis.utils.SqlSessionFactoryUtils;
import cn.nupt.pojo.User;
public class UpdateAndDelete {
//测试跟新
@Test
public void testUpdate() {
SqlSessionFactory sessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
SqlSession session = sessionFactory.openSession(true);
User user = new User();
user.setId(1);
user.setUsername("PizAn");
user.setAddress("南京");
user.setBirthday(new Date());// 就算在这里加了日期,但是因为sql语句里没有设置,所以不会跟信到数据库
session.update("user.updateUser", user);
System.out.println(user);
session.close();
}
//删除测试
@Test
public void testDelete() {
SqlSessionFactory sessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
SqlSession session = sessionFactory.openSession(true);
session.delete("user.deleteUser", 10);
session.close();
}
}