在MyBatis Plus中QueryWrapper的使用
在MyBatis Plus中,QueryWrapper
是一个非常实用的工具,它用于构建查询条件。以下是一个简单的例子,展示如何使用QueryWrapper
来查询数据库中的记录。
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
// 假设有一个User实体类和对应的Service
public interface UserService extends IService<User> {
// 使用QueryWrapper进行查询
default List<User> selectUsersByWrapper(String name, Integer age) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like(name != null, "name", name) // 如果name不为空,则添加一个按名称模糊查询的条件
.eq(age != null, "age", age); // 如果age不为空,则添加一个按年龄精确查询的条件
return list(queryWrapper); // 使用Service的list方法进行查询
}
}
// 使用示例
UserService userService = ...; // 获取UserService实例
List<User> users = userService.selectUsersByWrapper("Tom", null); // 查询名称中包含"Tom"的用户,年龄不作为查询条件
在这个例子中,我们定义了一个selectUsersByWrapper
方法,使用QueryWrapper
来构建查询条件。我们使用like
方法来添加一个按名称模糊查询的条件,如果提供了name
参数,则生成相应的LIKE语句。我们还使用eq
方法来添加一个按年龄精确查询的条件,如果提供了age
参数,则生成相应的=语句。最后,我们调用list(queryWrapper)
方法来执行查询,返回满足条件的用户列表。这个方法可以很容易地被扩展,以适应更复杂的查询需求。
评论已关闭