List<AiAssistantManagement> list = aiAssistantManagementQueryMapper.selectBatchIds(Arrays.asList(1,2,3));
3.根据Map条件查询
Map<String,Object> columnMap = new HashMap<>();
columnMap.put("com_id", 5);
columnMap.put("status", 0);
List<AiAssistantManagement> list = aiAssistantManagementQueryMapper.selectByMap(columnMap);
4.按照条件查询
QueryWrapper<AiAssistantManagement> ew = new QueryWrapper<>();
ew.eq("status",1)
// 查询需要的列
.select("id","com_id","ai_nickname","ai_wx_id")
// 排除需要查询的指定字段
.select(AiAssistantManagement.class, info->!info.getColumn().equals("ai_assistant_status") && !info.getColumn().equals("ai_nickname"))
// 模糊查询 省略判断
.like(StringUtils.isNotBlank("微风"),"ai_nickname","微风")
// 将sql进行动态拼接
.apply("date_format(ai_create_time,'%Y-%m-%d') = {0}","2020-06-15")
// params为map条件,false 对 value为空的过滤,name对字段为name的条件过滤
.allEq((k,v)->!k,equals("name"),params,false)
// 子查询
.inSql("com_id","SELECT DISTINCT com_id FROM wx_automation_task WHERE status = 1")
// 只能使用一次
.last("limit 1");
List<AiAssistantManagement> user = aiAssistantManagementQueryMapper.selectList(ew);
5.使用类做条件查询(模糊查询)
@TableField(condition = SqlCondition.LIKE)
private String aiNickname;
AiAssistantManagement dto = new AiAssistantManagement();
dto.setAiNickname("张三");
QueryWrapper<AiAssistantManagement> ew = new QueryWrapper<>(dto);
6.返回Map 对象 返回对象不需要的字段会过滤null
List<Map<String,Object>> user = aiAssistantManagementQueryMapper.selectMaps(ew);
user.forEach(System.out::println);
7.lambda 表达式
QueryWrapper<AiAssistantManagement> ew = new QueryWrapper<>();
LambdaQueryWrapper<AiAssistantManagement> lambdaQuery = Wrappers.<AiAssistantManagement>lambdaQuery();
lambdaQuery.eq(AiAssistantManagement::getComId,"5");
aiAssistantManagementQueryMapper.selectList(lambdaQuery);
List<AiAssistantManagement> list = new LambdaQueryChainWrapper<AiAssistantManagement>(aiAssistantManagementQueryMapper)
.like(AiAssistantManagement::getAiNickname,"微风").list();
更新
更新值和条件 返回更新条数
AiAssistantManagement aiAssistantManagement = new AiAssistantManagement();
UpdateWrapper<AiAssistantManagement> updateWrapper = new UpdateWrapper<>();
int rows = aiAssistantManagementQueryMapper.update(aiAssistantManagement,updateWrapper);
将值写在条件中
updateWrapper.eq("name","张三").set("name","张三")
int rows = aiAssistantManagementQueryMapper.update(null,updateWrapper);
lambda => 返回是否更新成功
boolean update = new LambdaUpdateChainWrapper<AiAssistantManagement>(aiAssistantManagementQueryMapper).eq(AiAssistantManagement::getId,4) .eq(AiAssistantManagement::getComId,"5").eq(AiAssistantManagement::getStatus,0)
.set(AiAssistantManagement::getAiNickname,"马泡泡").update();
删除
根据Id删除
aiAssistantManagementQueryMapper.deleteById(1);
根据Map条件删除 => 反回执行条数
Map<String,Object> columnMap = new HashMap<>();
columnMap.put("name","向后");
columnMap.put("com_id", "5");
int rows = aiAssistantManagementQueryMapper.deleteByMap(columnMap);
领域模型
// 插入或更新
insertOrUpdate()
// lambda
new WxGroupQrCode(wxId).selectOne(Wrappers.<WxGroupQrCode>lambdaQuery().eq(WxGroupQrCode::getWxGroupId, wxId));