1. mybatis-plus中last和orderBy的连用的使用顺序 在MyBatis-Plus中,last 方法用于在构建查询时添加自定义的SQL片段, 而 orderBy 方法用于指定排序规则。当你想要结合使用这两个方法时, 可以先调用 orderBy 指定排序规则,然后调用 last 添加自定义的SQL片段。
@Autowired
TbUserService tbUserService;
@ApiOperation("MP中orerby和last的联合使用")
@PostMapping("/mplastOrdertest")
public TbUser MP_OrderBy_Last_Tests() {
// mybatis-plus中last和orderBy的连用的使用顺序
// 在MyBatis-Plus中,last 方法用于在构建查询时添加自定义的SQL片段,
// 而 orderBy 方法用于指定排序规则。当你想要结合使用这两个方法时,
// 可以先调用 orderBy 指定排序规则,然后调用 last 添加自定义的SQL片段。
LambdaQueryWrapper<TbUser> w = new LambdaQueryWrapper<>();
// w.like(TbUser::getPassword, "12345");
w.orderByDesc(TbUser::getPassword);
w.last("limit 1");
TbUser one = tbUserService.getOne(w);
return one;
}
执行sql的打印:
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@39b7a9b7] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@e604713] will not be managed by Spring
==> Preparing: SELECT password,phone,username FROM tb_user ORDER BY password DESC limit 1
==> Parameters:
<== Columns: password, phone, username
<== Row: 9, 13660775070, dhq2
<== Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@39b7a9b7]
2.Mybatis-plus中 last 方法定义 last(String lastSql) last(boolean condition, String lastSql) 参数说明: lastSql:要追加到 SQL 后面的 SQL 语句 condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。 注意事项: 只能调用一次,多次调用以最后一次为准 有sql注入的风险,请谨慎使用 2 示例 一般,last跟limit一起出现的概率比较大: QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.last("limit 1,10");标签:orderBy,调用,last,自定义,TbUser,plus,SQL From: https://blog.csdn.net/m0_57310426/article/details/140249632