wrappers的last方法
时间: 2024-03-19 11:44:34 浏览: 19
Mybatis-Plus的Wrapper类提供了last方法,用于在SQL语句的末尾添加自定义的SQL片段。last方法的定义如下:
```java
/**
* SQL注入,unsafe,自行控制风险
* <p>
* !!! 注意再次强调,不要使用!自行负责SQL注入风险!!!
* </p>
*
* @param sql sql语句片段
* @return this
*/
Wrapper<T> last(String sql);
```
可以看到,last方法接收一个字符串参数,将该字符串追加到SQL语句的末尾。需要注意的是,last方法存在SQL注入风险,使用时需要谨慎,在使用前应该对参数进行过滤和验证,避免安全问题。
下面是一个使用last方法的示例:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "test")
.last("and age > 20")
.orderByAsc("age");
List<User> userList = userMapper.selectList(wrapper);
```
上述代码中,使用like方法添加了一个模糊查询条件,使用last方法添加了一个自定义的SQL片段,最终生成的SQL语句为:`SELECT * FROM user WHERE name LIKE '%test%' and age > 20 ORDER BY age ASC`。
需要注意的是,last方法添加的SQL片段是不安全的,如果拼接的SQL语句中包含用户输入的内容,则容易受到SQL注入攻击。因此,在使用last方法时需要特别小心,必须进行安全性检查和过滤。