Wrapper 介绍
-
Wrapper:条件构造抽象类,最顶端父类
- AbstractWrapper:用于查询条件封装,生成 SQL 的 where 条件
- QueryWrapper:查询条件封装
- UpdateWrapper:Update 条件封装
- AbstractLambdaWrapper:使用 Lambda 语法
- LambdaQueryWrapper:使用 Lambda 语法
- LambdaUpdateWrapper:Lambda 更新封装 Wrapper
QueryWrapper:
-
组装条件查询:
//组装查询条件 @Test public void test(){ //查询用户包含 a,年龄在20到30之间,并且邮箱不为 null 的用户信息 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name","a") .between("age",20,30) .isNotNull("email"); userMapper.selectList(queryWrapper).forEach(System.out::println); }
-
组装排序条件:
//组装排序条件 @Test public void test02(){ //按年龄降序查询用户,如果年龄相同则按 id 升序排序 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("age") .orderByAsc("id"); userMapper.selectList(queryWrapper).forEach(System.out::println); }
-
组装条件删除:
//组装删除条件 @Test public void void03(){ //删除 email 为空的数据 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.isNull("email"); int result = userMapper.delete(queryWrapper); System.out.println(result); }
-
条件的优先级:
//条件的优先级 @Test public void test04(){ QueryWrapper<User> queryWrapper = new QueryWrapper<>();