MybatisPlus之(lambda)QueryWrapper.apply 和.last 区别

MybatisPlus之(lambda)QueryWrapper.apply 和.last 区别

apply方法和last方法都是Mybatis-Plus中LambdaQueryWrapper提供的方法,用于向查询中添加自定义的SQL语句或SQL片段。二者的区别在于:

  1. apply方法可以在查询条件中任意位置添加自定义的SQL语句或SQL片段,而last方法只能在SQL语句的最后添加自定义的SQL语句或SQL片段。
  2. apply方法可以接收一个Consumer类型的参数,用于构建复杂的查询条件,而last方法只能接收一个字符串类型的参数,表示要添加的SQL语句或SQL片段。
  3. apply方法适用于在查询条件中添加自定义的SQL语句或SQL片段,比如在where子句中添加自定义的条件。而last方法适用于在SQL语句的最后添加自定义的SQL语句或SQL片段,比如在order by子句或limit子句中添加自定义的语句。

以下是一个示例代码,展示了apply方法和last方法的使用情况:

LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.apply("age > 18").last("order by id desc limit 10");
List<User> userList = userService.list(lambdaQueryWrapper);

在上述示例中,我们使用了apply方法向查询条件中添加了自定义的SQL语句age > 18,表示查询年龄大于18岁的记录。同时,我们使用了last方法向SQL语句中添加了自定义的SQL语句order by id desc limit 10,表示按照id字段进行降序排列,并且最多查询10条记录。

总之,在使用apply方法和last方法时,需要根据具体的需求选择合适的方法,并注意避免SQL注入攻击。如果你需要进行复杂的SQL操作,建议使用Mybatis-Plus的XML映射文件进行处理,可以更加灵活地控制SQL语句的生成和执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值