酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

不写sql 纯mybatis-plus 实现取某个字段最大值

使用MyBatis-Plus不写SQL,可以通过`QueryWrapper`和`LambdaQueryWrapper`实现获取某个字段的最大值。以下是示例代码: ```java // 1. 使用LambdaQueryWrapper(推荐) LambdaQueryWrapper<Entity> wrapper = new LambdaQueryWrapper<>(); wrapper.select(Entity::getField).orderByDesc(Entity::getField).last("LIMIT 1"); Entity maxEntity = entityMapper.selectOne(wrapper); Object maxValue = maxEntity != null ? maxEntity.getField() : null; // 2. 使用QueryWrapper QueryWrapper<Entity> wrapper = new QueryWrapper<>(); wrapper.select("MAX(field_name) as maxValue"); Map<String, Object> result = entityMapper.selectMaps(wrapper).get(0); Object maxValue = result.get("maxValue"); ``` 代码说明: 1. 第一种方式通过排序+限制1条记录实现 2. 第二种方式直接使用MAX聚合函数 3. 两种方式都不需要手写SQL语句 注意事项: - 确保字段名与数据库列名正确对应 - 处理可能的空结果情况 - 大数据量时第二种方式性能更优 [2025-04-03 17:16:19 | AI写代码神器 | 246点数解答]

相关提问