MyBatis的增删改查实现

首先还是使用上一篇文章相同的数据表和实体类,如下图所示

 

 

 1 package com.loubin.pojo;
 2 
 3 public class User {
 4     private int id;
 5     private String name;
 6     private String pwd;
 7 
 8     public int getId() {
 9         return id;
10     }
11 
12     public void setId(int id) {
13         this.id = id;
14     }
15 
16     public String getName() {
17         return name;
18     }
19 
20     public void setName(String name) {
21         this.name = name;
22     }
23 
24     public String getPwd() {
25         return pwd;
26     }
27 
28     public void setPwd(String pwd) {
29         this.pwd = pwd;
30     }
31 
32     @Override
33     public String toString() {
34         return "User{" +
35                 "id=" + id +
36                 ", name='" + name + '\'' +
37                 ", pwd='" + pwd + '\'' +
38                 '}';
39     }
40 
41     public User(int id, String name, String pwd) {
42         this.id = id;
43         this.name = name;
44         this.pwd = pwd;
45     }
46 }

 

 

然后是在接口UserMapper.java中增加增删改查的接口,如下代码所示

 1 package com.loubin.dao;
 2 
 3 import com.loubin.pojo.User;
 4 
 5 import java.util.List;
 6 
 7 public interface UserMapper {
 8     List<User> getUserList();
 9     User getUserById(int id);
10     int insertUser(User user);
11     int updateUser(User user);
12     int deleteUser(int id);
13 }

 

然后在映射文件UserMapper.xml中增加sql实现,如下代码所示

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="com.loubin.dao.UserMapper">
 6     <select id="getUserList" resultType="com.loubin.pojo.User">
 7         select * from mybatis.user;
 8     </select>
 9 
10     <select id="getUserById" resultType="com.loubin.pojo.User" parameterType="int">
11         select * from user where id = #{id};
12     </select>
13 
14     <insert id="insertUser" parameterType="com.loubin.pojo.User">
15         insert into user(id, name, pwd) values (#{id}, #{name}, #{pwd});
16     </insert>
17 
18     <update id="updateUser" parameterType="com.loubin.pojo.User">
19         update user set  name = #{name}, pwd=#{pwd} where id = #{id};
20     </update>
21 
22     <delete id="deleteUser" parameterType="int">
23         delete
24         from user
25         where id = #{id};
26     </delete>
27 </mapper>

 

然后是在测试类中进行测试,如下代码所示,别忘了在插入,修改,删除的方法中要显示提交,即session.commit()

 1 package com.loubin.dao;
 2 
 3 import com.loubin.pojo.User;
 4 import com.loubin.utils.MybatisUtils;
 5 import org.apache.ibatis.session.SqlSession;
 6 import org.junit.Test;
 7 
 8 import java.util.List;
 9 
10 public class UserMapperTest {
11     @Test
12     public void test(){
13         SqlSession session = MybatisUtils.getSqlSession();
14         UserMapper userMapper = session.getMapper(UserMapper.class);
15         List<User> userList = userMapper.getUserList();
16 
17         for (User user : userList) {
18             System.out.println(user);
19             System.out.println("lll");
20         }
21         session.close();
22     }
23 
24     @Test
25     public void selectUserById() {
26         SqlSession session= MybatisUtils.getSqlSession();
27         UserMapper userMapper= session.getMapper(UserMapper.class);
28         User user = userMapper.getUserById(1);
29         System.out.println(user);
30         session.close();
31     }
32 
33     @Test
34     public void insertUser(){
35         SqlSession sqlSession = MybatisUtils.getSqlSession();
36         UserMapper userMapper= sqlSession.getMapper(UserMapper.class);
37         userMapper.insertUser(new User(6, "哈哈", "22222"));
38         sqlSession.commit();
39         sqlSession.close();
40     }
41 
42     @Test
43     public void updateUser(){
44         SqlSession sqlSession = MybatisUtils.getSqlSession();
45         UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
46         userMapper.updateUser(new User(6, "嘿嘿", "33333"));
47         sqlSession.commit();
48         sqlSession.close();
49     }
50 
51     @Test
52     public void deleteUser(){
53         SqlSession session = MybatisUtils.getSqlSession();
54         UserMapper userMapper = session.getMapper(UserMapper.class);
55         userMapper.deleteUser(6);
56         session.commit();
57         session.close();
58     }
59 }

 

posted @ 2025-02-01 11:49  地球上最后一个直男  阅读(17)  评论(0)    收藏  举报