注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “MyBatis Plus环境准备” 章节,点击下载示例源码。
本章节将介绍 last 函数的使用,我们可以通过使用 last 方法在你的 SQL 后面添加一小段其他 SQL 语句,例如:分页语句、排序语句等等。注意:
last 行数将无视 SQL 的优化规则,直接指定的 SQL 拼接到 SQL 的最后
last 函数只能调用一次,如果多次调用,以最后一次调用为准(有sql注入的风险,请谨慎使用)
last(String lastSql) last(boolean condition, String lastSql)
参数说明:
lastSql:要追加到 SQL 后面的 SQL 语句
condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。
实例:在 SQL 后面追加分页 SQL 语句。如下:
QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.last("limit 1,10");
上面程序实际运行的 SQL 语句如下:
SELECT user_id,name,sex,age,face,salary,borthday FROM user limit 1,10
package com.hxstrive.mybatis_plus.simple_mapper.condition; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hxstrive.mybatis_plus.mapper.SimpleMapper; import com.hxstrive.mybatis_plus.model.UserBean; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest class Condition14Test { @Autowired private SimpleMapper simpleMapper; @Test void contextLoads() { QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.last("limit 1,10"); List<UserBean> userBeanList = simpleMapper.selectList(wrapper); System.out.println("result size=" + userBeanList.size()); } }
运行上面代码,实际执行的 SQL 语句如下:
Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user limit 1,10 Parameters: