${ew.sqlSegment},${ew.sqlSelect},${ew.customSqlSegment},${ew.sqlSet}具体如何使用 详细说一下
时间: 2023-09-28 22:07:50 浏览: 194
1. ${ew.sqlSegment}:它是Mybatis-plus的一种语法糖,用于动态拼接SQL语句的条件,常用于where子句中。在使用时,需要将其放在Mybatis-plus的查询构造器方法(如lambdaQueryWrapper、query等)中的条件参数中,如下所示:
```java
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getName, "Tom");
wrapper.eq(User::getAge, 20);
wrapper.eq(User::getSex, "male");
wrapper.orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(wrapper.select(User::getId, User::getName, User::getAge, User::getSex, User::getCreateTime).last(SqlUtils.stripSqlInjection("${ew.sqlSegment}")));
```
其中,last方法用于将${ew.sqlSegment}拼接到SQL语句的最后面。
2. ${ew.sqlSelect}:也是Mybatis-plus的一种语法糖,用于动态拼接SQL语句的查询字段,常用于select子句中。在使用时,需要将其放在查询构造器方法(如lambdaQueryWrapper、query等)中的select参数中,如下所示:
```java
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getName, "Tom");
wrapper.eq(User::getAge, 20);
wrapper.eq(User::getSex, "male");
wrapper.orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(wrapper.select(User::getId, User::getName, User::getAge, User::getSex, User::getCreateTime).last(SqlUtils.stripSqlInjection("${ew.sqlSelect}")));
```
其中,last方法用于将${ew.sqlSelect}拼接到SQL语句的最后面。
3. ${ew.customSqlSegment}:它是Mybatis-plus的一种语法糖,用于动态拼接自定义的SQL语句。在使用时,需要将其放在查询构造器方法(如lambdaQueryWrapper、query等)中的条件参数中,如下所示:
```java
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getName, "Tom");
wrapper.eq(User::getAge, 20);
wrapper.eq(User::getSex, "male");
wrapper.orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(wrapper.select(User::getId, User::getName, User::getAge, User::getSex, User::getCreateTime).last(SqlUtils.stripSqlInjection("AND ${ew.customSqlSegment}")));
```
其中,last方法用于将${ew.customSqlSegment}拼接到SQL语句的最后面。
4. ${ew.sqlSet}:它是Mybatis-plus的一种语法糖,用于动态拼接SQL语句的更新字段和值。在使用时,需要将其放在Mybatis-plus的更新构造器方法(如lambdaUpdateWrapper、update等)中的set参数中,如下所示:
```java
LambdaUpdateWrapper<User> wrapper = Wrappers.lambdaUpdate();
wrapper.eq(User::getId, 1);
wrapper.set(User::getName, "Jerry");
wrapper.set(User::getAge, 25);
int rows = userMapper.update(null, wrapper.set(User::getName, "Jerry").set(User::getAge, 25).last(SqlUtils.stripSqlInjection("${ew.sqlSet}")));
```
其中,last方法用于将${ew.sqlSet}拼接到SQL语句的最后面。
阅读全文