自定义mybatisplus查询
时间: 2024-09-21 08:00:15 浏览: 38
在MyBatisPlus中,自定义查询通常涉及到编写动态SQL语句或者利用其提供的强大扩展点来定制数据获取。以下是一些步骤:
1. **创建Mapper接口**:首先,在`@Mapper`注解的接口中声明你需要的自定义查询方法,比如`selectListByCustom`:
```java
public interface UserMapper {
List<User> selectListByCustom(@Param("condition") String condition);
}
```
2. **编写动态查询语句**:在对应的`BaseMapper`或具体Mapper的实现类中,通过`DynamicSQLSupport`来构造动态SQL。例如,如果你需要根据条件查询:
```java
List<User> selectListByCustom(String condition) {
return userMapper.selectDynamicQuery(
"SELECT * FROM users WHERE " + condition,
User.class
);
}
```
3. **利用CriteriaAPI**:MyBatisPlus也提供Criteria API来构建复杂的查询条件,如`QueryWrapper`:
```java
List<User> selectListByCustom(UserExample example) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 设置查询条件
wrapper.like("name", "%李%");
return userMapper.selectList(wrapper);
}
```
4. **传入参数**:对于带参数的查询,可以使用`@Param`注解将参数绑定到SQL表达式上。
5. **结果处理**:最后返回查询结果给业务层。
阅读全文