1、对时间过滤的语法
QueryWrapper<MainEvent> wrapper = new QueryWrapper();
//过滤时间字段
String startTime = TimeUtilsSecond.getStartTime(param.getTimeType(), param.getStartTime());
String endTime = TimeUtilsSecond.getEndTime(param.getTimeType(), param.getEndTime());
if (StringUtils.isNotBlank(startTime)) {
Date startTimeDate = TimeUtils.Str2Date(startTime);
wrapper.gt("occurrence_time", startTimeDate);
}
if (StringUtils.isNotBlank(endTime)) {
Date endTimeDate = TimeUtils.Str2Date(endTime);
wrapper.lt("occurrence_time", endTimeDate);
}
2、多个in查询语法
List<String> address = param.getAddress();
if (CollUtil.isNotEmpty(address)) {
wrapper.and(orWrapper -> {
address.forEach(a -> {
orWrapper.or().like("county", a);
orWrapper.or().like("province", a);
orWrapper.or().like("city", a);
});
});
}
if (CollUtil.isNotEmpty(wordNames)) {
wrapper.and(orWrapper -> {
wordNames.forEach(wordName -> {
orWrapper.or().like("event_type", wordName);
});
});
}
3、模糊查询
Wrapper.like("event_name", wordName)
4、等于和排序
QueryWrapper<MainEvent> wrapper = new QueryWrapper();
wrapper.eq("main_event_id", mainEventId);
wrapper.orderByDesc("insert_time").last("limit 1");
5、分页
Page<MainEvent> producePage = new Page<>(param.getPageNum(), param.getPageSize());
====================条件===============================================
Page<MainEvent> mainEventPage = mainEventMapper.selectPage(producePage, wrapper);