在MyBatis入门案例中,实现了查询操作,这篇文章使用XML方式实现增删改查,这里贴出关键部分。
- 工程目录结构
- UserDao
public interface UserDao {
List<User> getUserList();
User getUserById(int id);
int addUser(User user);
int updateUser(User user);
int deleteUser(int id);
}
- UserMapper.xml
<?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">
<mapper namespace="com.dao.UserDao">
<select id="getUserList" resultType="com.pojo.User">
select * from user
</select>
<select id="getUserById" resultType="com.pojo.User" parameterType="int">
select * from user where id = #{id}
</select>
<insert id="addUser" parameterType="com.pojo.User">
insert into user (name,password) values (#{name},#{password})
</insert>
<update id="updateUser" parameterType="com.pojo.User">
update user set name=#{name},password=#{password} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
</mapper>
- UserDaoTest
public class UserDaoTest {
@Test
public void test(){
//第一步:获取SqlSession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao=sqlSession.getMapper(UserDao.class);
List<User> userList=userDao.getUserList();
for(User user : userList){
System.out.println(user);
}
//关闭SqlSession
sqlSession.close();
}
@Test
public void getUserById(){
//第一步:获取SqlSession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao=sqlSession.getMapper(UserDao.class);
User user=userDao.getUserById(1);
System.out.println(user);
sqlSession.close();
}
//增删改需要提交事务
@Test
public void addUser(){
//第一步:获取SqlSession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao=sqlSession.getMapper(UserDao.class);
User user=new User();
user.setName("张三");
user.setPassword("123");
int m=userDao.addUser(user);
if(m>0){
System.out.println("插入成功");
}
//提交事务,不提交会插入失败
sqlSession.commit();
sqlSession.close();
}
//增删改需要提交事务
@Test
public void updateUser(){
//第一步:获取SqlSession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao=sqlSession.getMapper(UserDao.class);
User user=new User();
user.setId(6);
user.setName("张三");
user.setPassword("123123");
int m=userDao.updateUser(user);
if(m>0){
System.out.println("修改成功");
}
//提交事务,不提交会更新失败
sqlSession.commit();
sqlSession.close();
}
//增删改需要提交事务
@Test
public void deleteUser(){
//第一步:获取SqlSession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao=sqlSession.getMapper(UserDao.class);
int m=userDao.deleteUser(6);
if(m>0){
System.out.println("删除成功");
}
//提交事务,不提交会删除失败
sqlSession.commit();
sqlSession.close();
}
}