CRUD查
- 一、普通查询
- 1.1、通过id查询单个用户
- 1.2、通过id查询多个用户
- 1.3、条件查询 通过map封装
- 二、分页查询
- 2.1、配置分页插件
- 2.2、运行方法
- 三、通过wrapper条件构造器查询
- 3.1、查询name不为空,email不为空,age大于18的用户
- 3.2、查询name=Jone的用户
- 3.3、查询age在10-20之间的用户
- 3.4、模糊查询 name不包含s,likeRight = t% 匹配第一个t开头
- 3.5、查询出id 小于 5 的数据
- 3.6、查询所有,并根据id进行排序
- 3.7、查询姓名为测试、年龄为18,的第一条数据。
- 四、关于service跟mapper方法,参考官网
- ————————
- 创作不易,笔记不易,如觉不错,请三连,谢谢~~
一、普通查询
1.1、通过id查询单个用户
@Test//通过id查询单个用户public void testSelectById(){User user = userMapper.selectById(1L);System.out.println(user);}
1.2、通过id查询多个用户
@Test//通过id查询多个用户public void testSelectBatchIds(){List<User> users = userMapper.selectBatchIds(Arrays.asList(1L, 2L, 3L));users.forEach(System.out::println);}
1.3、条件查询 通过map封装
@Test//通过条件查询之一 mappublic void testMap(){HashMap<String, Object> map = new HashMap<>();//自定义要查询的map.put("name","Jack");map.put("age",18);List<User> users = userMapper.selectByMap(map);users.forEach(System.out::println);}
二、分页查询
2.1、配置分页插件
2.2、运行方法
查询第2页,页面大小为5
看一下数据库的数据,是否匹配
三、通过wrapper条件构造器查询
3.1、查询name不为空,email不为空,age大于18的用户
@Testpublic void testWrapper1() {//参数是一个wrapper ,条件构造器QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.isNotNull("name").isNotNull("email").ge("age",18);List<User> userList = userMapper.selectList(wrapper);userList.forEach(System.out::println);}
3.2、查询name=Jone的用户
@Testpublic void testWrapper2() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.eq("name","Jack");//查询一个数据selectOne,若查询出多个会报错//Expected one result (or null) to be returned by selectOne(), but found: *//若出现多个结果使用list或mapUser user = userMapper.selectOne(wrapper); //查询一个数据,若出现多个结果使用list或mapSystem.out.println(user);}
3.3、查询age在10-20之间的用户
@Testpublic void testWrapper3() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.between("age", 15, 25);//区间Integer count = userMapper.selectCount(wrapper);//输出查询的数量selectCountSystem.out.println(count);}
3.4、模糊查询 name不包含s,likeRight = t% 匹配第一个t开头
@Testpublic void testWrapper4() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.notLike("name","s").likeRight("email","t");List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);maps.forEach(System.out::println);}
3.5、查询出id 小于 5 的数据
@Testpublic void testWrapper5() {//模糊查询// SELECT id,name,age,email,version,deleted,create_time,update_time//FROM user//WHERE deleted=0 AND id IN//(select id from user where id<5)QueryWrapper<User> wrapper = new QueryWrapper<>();//id 在子查询中查出来wrapper.inSql("id","select id from user where id<5");List<Object> objects = userMapper.selectObjs(wrapper);objects.forEach(System.out::println);}
3.6、查询所有,并根据id进行排序
@Testpublic void testWrapper6() {QueryWrapper<User> wrapper = new QueryWrapper<>();//通过id进行降序排序wrapper.orderByDesc("id");List<User> userList = userMapper.selectList(wrapper);userList.forEach(System.out::println);}
3.7、查询姓名为测试、年龄为18,的第一条数据。
/*** .last表示拼接到sql的最后* 如果用service就是.list,如果用mapper就是.selectList* 返回值功能都是一样的,只是方法名不同*//*** 查询姓名为测试、年龄为18,的第一条数据。*/@Testpublic void testWrapper7(){QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.eq("name","测试");wrapper.eq("age","18");wrapper.last("limit 1");//QueryWrapper<User> last = wrapper.last("limit 1");//List<User> users = userService.list(wrapper); //第一种方式是通过service去查List<User> users = userMapper.selectList(wrapper); //第二种方式是通过Mapper去查users.forEach(System.out::println);}
四、关于service跟mapper方法,参考官网
https://baomidou.com/pages/49cc81/#service-crud-%E6%8E%A5%E5%8F%A3