Mybatisplus 自定义sql 使用条件构造器
时间: 2024-01-24 22:04:04 浏览: 85
Mybatisplus 自定义sql 使用条件构造器可以在自定义 SQL 语句中使用 Mybatisplus 的条件构造器,方便快捷地构造查询条件。
使用步骤:
1. 在 Mapper 接口中定义自定义 SQL 语句的方法,方法返回值为 List 或者其他需要返回的结果类型。
2. 在自定义 SQL 语句中使用 ${} 占位符来引用条件构造器生成的 SQL 片段。
3. 在方法参数中使用 @Param 注解来指定条件构造器生成的 SQL 片段的参数名称和类型,同时在自定义 SQL 语句中使用 #{参数名} 占位符来引用参数。
4. 在方法中使用 QueryWrapper 类来构造查询条件,然后将 QueryWrapper 对象作为参数传递给自定义 SQL 语句方法即可。
示例代码如下:
```
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT * FROM user ${ew.customSqlSegment}")
List<User> selectByCustomSql(@Param(Constants.WRAPPER) QueryWrapper<User> wrapper);
}
```
其中,${ew.customSqlSegment} 是 Mybatisplus 条件构造器生成的 SQL 片段,@Param(Constants.WRAPPER) 指定了 wrapper 参数的名称和类型。
调用示例:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18).like("name", "张");
List<User> userList = userMapper.selectByCustomSql(wrapper);
```
以上代码中,使用 QueryWrapper 构造了查询条件,然后将 QueryWrapper 对象作为参数传递给 selectByCustomSql 方法,该方法会根据传入的 QueryWrapper 对象生成自定义 SQL 语句,并返回符合条件的用户列表。
阅读全文