4Wrapper的使用
4.1Wrapper的类图体系
4.2wapper介绍
- Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
- AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
- AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
- LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
- LambdaUpdateWrapper : Lambda 更新封装Wrapper
- QueryWrapper : Entity 对象封装操作类,不是用lambda语法
- UpdateWrapper : Update 条件封装,用于Entity对象更新操作
QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类
用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件
注意: entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为
4.3常用方法
4.4方法详情:https://baomidou.com/guide/wrapper.html#abstractwrapper
4.5测试查询
@Test
public void testGetOneByWrapper(){
QueryWrapper<Account> queryWrapper = new QueryWrapper<>();
Map<String,Object> map = new HashMap<>();
map.put("password","b");
map.put("name",null);
queryWrapper.allEq(map, false);
Account account = accountService.getOne(queryWrapper);
System.out.println(account);
}
4.6测试更新
@Test
public void testUpDateByWrapper(){
Account account = new Account(null,"b","bb");
UpdateWrapper<Account> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id",19);
accountService.update(account,updateWrapper);
}