package com.sf.mapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sf.entity.User; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import static org.junit.Assert.*; public class UserMapper2Test { @Test public void addUser() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper2 mapper = sqlSession.getMapper(UserMapper2.class); User user = new User(); user.setUserId(1004); user.setUserName("李磊1"); user.setCreateTime(new Date()); mapper.addUser(user); sqlSession.commit(); sqlSession.close(); inputStream.close(); } /** * 测试批量添加 */ @Test public void testBatchAddUsers() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); // 创建user集合 List userList = new ArrayList<>(); // 对user进行赋值 用于测试 User user1 = new User(1009,"z3",new Date()); User user2 = new User(1010,"l4",new Date()); User user3 = new User(1011,"w5",new Date()); User user4 = new User(1012,"z6",new Date()); // 讲user加入到集合中 userList.add(user1); userList.add(user2); userList.add(user3); userList.add(user4); userMapper.batchAddUsers2(userList); sqlSession.commit(); sqlSession.close(); inputStream.close(); } /** * 批量删除 */ @Test public void batchDeleteByIds() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List integerList = new ArrayList<>(); integerList.add(1009); integerList.add(1010); integerList.add(1011); integerList.add(1012); userMapper.batchDeleteByIds(integerList); System.out.println(integerList); sqlSession.commit(); sqlSession.close(); inputStream.close(); } /** * 批量查询 */ @Test public void test() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List integerList = new ArrayList<>(); integerList.add(1001); integerList.add(1002); integerList.add(1004); integerList.add(1005); List list = userMapper.batchGetUsers(integerList); System.out.println("查询结果================>"+list); System.out.println(integerList); sqlSession.commit(); sqlSession.close(); inputStream.close(); } @Test public void batchUpdateUsers() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List userList = new ArrayList<>(); User user1 = new User(1006,"l4999999",new Date()); User user2 = new User(1007,"z59999999",new Date()); User user3 = new User(1008,"z699999",new Date()); userList.add(user1); userList.add(user2); userList.add(user3); userMapper.batchUpdateUsers(userList); sqlSession.commit(); sqlSession.close(); inputStream.close(); } /** * 测试查询user列表带分页 */ @Test public void getUserListWithPageTest() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); // 调用查询分页列表的方法 // 第一页 Integer pageNo = 2; // 页大小 每页显示2条数据 Integer pageSize = 3; // 开始行 Integer startRow =(pageNo-1) * pageSize; List userListWithPage = userMapper.getUserListWithPage(startRow, pageSize); System.out.println("分页查询"+userListWithPage); sqlSession.commit(); sqlSession.close(); inputStream.close(); } /** * 测试查询user列表带分页---使用分页插件 */ @Test public void PagehelperTest() throws IOException { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); // 分页 // 注意:分页插件这行代码和查询全部这行代码必须挨着 中间不能添加任何逻辑代码 PageHelper.startPage(1,1); List userList = userMapper.getUserList(); PageInfo userPageInfo = new PageInfo<>(userList); System.out.println("当前页"+userPageInfo.getPageNum()); System.out.println("页大小"+userPageInfo.getPageSize()); System.out.println(userPageInfo.getList()); System.out.println("总页数"+userPageInfo.getPages()); System.out.println("userList=====>"+userList); for (User user : userList) { System.out.println(user); } sqlSession.commit(); sqlSession.close(); inputStream.close(); } }