首先还是使用上一篇文章相同的数据表和实体类,如下图所示
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 }