今天分享常用API:
1、排序:
// 组装查询条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 按 id, age 字段进行升序
wrapper.orderBy(true, true, "id", "age");
// 实际执行 SQL : SELECT id,name,age,gender FROM user ORDER BY id ASC,age ASC
List<User> users = userMapper.selectList(wrapper);
一个参数排序,倒序:
LambdaQueryWrapper<Info> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(true,Info::getUpdateTime);
2、不等于 <>
相关的方法如下
// 组装查询条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 不等于 <> 语句
wrapper.ne("name", "犬小哈");
// 实际执行 SQL : SELECT id,name,age,gender FROM user WHERE (name <> '犬小哈')
List<User> users = userMapper.selectList(wrapper);
3、 使用ge(大于等于 >=)和le(小于等于 <=)
LambdaQueryWrapper<Info> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.ge(Info::getProcessTime, query.getStartTime());
queryWrapper.le(Info::getProcessTime, query.getEndTime());
配合日期格式:
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "开始时间")
private LocalDateTime startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "结束时间")
private LocalDateTime endTime;
4、忽略映射字段时可以在实体类属性上加注解:
@TableField(exist = false)//表示该属性不为数据库表字段,有需要使用
private Int age;
5、聚合查询:sum() 函数
QueryWrapper<Statistics> queryWrapper = new QueryWrapper<>();
queryWrapper.select(" product_year,sum(output)as output");
queryWrapper.eq(StringUtils.isNotEmpty(query.getCity()),"city", query.getCity());
queryWrapper.eq("del_flag", DelFlagEnum.False.getCode());
queryWrapper.in("product_year",yearList);
queryWrapper.groupBy("product_year");
List<Statistics> statisticsList = statisticsMapper.selectList(queryWrapper);
6、
QueryWrapper<UserInfo > queryWrapper = new QueryWrapper<>();
queryWrapper.select("MAX(count_number) as countNumber")
.lambda()
.eq(UserInfo::getTodayDate,todayDate).
last("LIMIT 1");
UserInfo entity = userInfoMapper.selectOne(queryWrapper );
注意:count_number 是表结构的某个字段,countNumber是实体类UserInfo中的参数,一定要写对。
7、查询最大的某条数据
SELECT
t.id,
t.resource_id as resourceId,
max(t.start_time) as startTime,
t1.name
FROM
depart_info t
LEFT JOIN user_info t1 ON (t1.id = t.resource_id)
where t1.department_id =1 and t.start_time > '2021-12-12'
GROUP BY t.resource_id
即查询2021-12-12以后开始时间最大的数据。
8、看到一篇文章也挺详细的,我就不在重复造轮子了:文章来源:https://www.toymoban.com/news/detail-696600.html
常用API文章来源地址https://www.toymoban.com/news/detail-696600.html
到了这里,关于mybatis-plus 常用API 详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!