mybatisplus last()

mybatisplus last

1 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");

上面程序实际运行的 SQL 语句如下:

SELECT id,name,age FROM user limit 1,10

当然,也可以根据具体的业务功能来灵活运用,但要注意,last是无视优化规则直接拼接到 sql 的最后,无脑拼接,可能会要考虑一些因素,比如,最开始的书写方式:

.last("where a.staff_id = b.staff_id and a.archive_date = b.archive_date GROUP BY a.staff_id");

如果前面的查询条件存在的话,会先自动拼接一个where来进行查询的,last中的where最后又会拼接一次,那么就会拼接两次where字段,语法错误!所以,只有前面的查询条件都不满足的时候,last才可以又有where,否则只能用and,所以做了如下的调整,分了1和2两种情况:
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值