MybatisPlus分页插件、常用查询
1、Configuration配置类中新增分页
/** * 分页插件 */ @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); }
2、测试类
//分页查询 @Test public void testPage() { //1 创建page对象 //传入两个参数:当前页 和 每页显示记录数 Page<User> page = new Page<>(1,3); //调用mp分页查询的方法 //调用mp分页查询过程中,底层封装 //把分页所有数据封装到page对象里面 userMapper.selectPage(page,null); //通过page对象获取分页数据 System.out.println(page.getCurrent());//当前页 System.out.println(page.getRecords());//每页数据list集合 System.out.println(page.getSize());//每页显示记录数 System.out.println(page.getTotal()); //总记录数 System.out.println(page.getPages()); //总页数 System.out.println(page.hasNext()); //下一页 System.out.println(page.hasPrevious()); //上一页 }
查询:
//批量id查询 @Test public void FindIdsTest(){ List<User> users = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L)); System.out.println(users); } @Test public void testSelectByMap(){ HashMap<String, Object> map = new HashMap<>(); map.put("name", "Jone"); map.put("age", 18); List<User> users = userMapper.selectByMap(map); users.forEach(System.out::println); }
复杂查询:
//mp实现复杂查询操作 @Test public void testSelectQuery() { //创建QueryWrapper对象 QueryWrapper<User> wrapper = new QueryWrapper<>(); //通过QueryWrapper设置条件 //ge、gt、le、lt //查询age>=30记录 //第一个参数字段名称,第二个参数设置值 // wrapper.ge("age",30); //eq、ne //wrapper.eq("name","lilei"); //wrapper.ne("name","lilei"); //between //查询年龄 20-30 // wrapper.between("age",20,30); //like //wrapper.like("name","岳"); //orderByDesc // wrapper.orderByDesc("id"); //last //wrapper.last("limit 1"); //指定要查询的列 wrapper.select("id","name"); List<User> users = userMapper.selectList(wrapper); System.out.println(users); }