版本介绍
jdk 17
SpringBoot 3.1.0
druid-spring-boot-starter 1.2.4
mysql-connector 8.0.33
mybatis-plus 3.5.3.1
QueryWrapper
MybatisPlus的QueryWrapper是一个用于构建SQL查询条件的工具类,它提供了一系列的方法来方便地进行条件构造。以下是QueryWrapper常用的方法:
-
eq(column, value):等于查询,指定字段column的值等于value。
示例:queryWrapper.eq(“name”, “张三”); -
ne(column, value):不等于查询,指定字段column的值不等于value。
示例:queryWrapper.ne(“age”, 20); -
gt(column, value):大于查询,指定字段column的值大于value。
示例:queryWrapper.gt(“salary”, 5000); -
ge(column, value):大于等于查询,指定字段column的值大于等于value。
示例:queryWrapper.ge(“create_time”, “2021-01-01”); -
lt(column, value):小于查询,指定字段column的值小于value。
示例:queryWrapper.lt(“age”, 30); -
le(column, value):小于等于查询,指定字段column的值小于等于value。
示例:queryWrapper.le(“salary”, 10000); -
like(column, value):模糊查询,指定字段column的值包含value。
示例:queryWrapper.like(“name”, “张”); -
notLike(column, value):不包含查询,指定字段column的值不包含value。
示例:queryWrapper.notLike(“name”, “李”); -
in(column, values):包含查询,指定字段column的值在values数组中。
示例:queryWrapper.in(“age”, Arrays.asList(20, 30, 40)); -
notIn(column, values):不包含查询,指定字段column的值不在values数组中。
示例:queryWrapper.notIn(“age”, Arrays.asList(50, 60, 70)); -
between(column, value1, value2):范围查询,指定字段column的值在value1和value2之间。
示例:queryWrapper.between(“salary”, 5000, 10000); -
orderByAsc(column):升序排序,根据指定字段column进行升序排序。
示例:queryWrapper.orderByAsc(“age”); -
orderByDesc(column):降序排序,根据指定字段column进行降序排序。
示例:queryWrapper.orderByDesc(“salary”); -
select(columns):指定要查询的字段,参数columns为字段列表。
示例:queryWrapper.select(“id”, “name”, “age”); -
last(sql):添加自定义的SQL查询条件,参数sql为要添加的SQL条件。
示例:queryWrapper.last(“LIMIT 10”);
实例
QueryWrapper<User> queryWrapper = new QueryWrapper();
queryWrapper.eq("user_name", user.getUserName());
return selectList(queryWrapper);
LambdaQueryWrapper
// 创建LambdaQueryWrapper对象
LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery();
// 设置查询条件
lambdaQueryWrapper
.eq(User::getUserName, user.getUserName()) ;
// 执行查询
List<User> userList = userMapper.selectList(lambdaQueryWrapper);
return userList;
UpdateWrapper
// 创建UpdateWrapper对象
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
// 设置更新条件
updateWrapper
.eq("user_name", user.getUserName());
// 执行更新操作
User updateUser = new User();
updateUser.setPassword(user.getPassword());
int rows = update(user, updateWrapper);
return rows;
LambdaUpdateWrapper
// 创建UpdateWrapper对象
LambdaUpdateWrapper<User> updateWrapper = Wrappers.lambdaUpdate();
// 设置更新条件
updateWrapper
.eq(User::getUserName, user.getUserName());
// 执行更新操作
User updateUser = new User();
updateUser.setPassword(user.getPassword());
int rows = update(user, updateWrapper);
return rows;
如果需要完整源码请关注公众号"架构殿堂" ,回复 "SpringBoot+mybatisplus+wrapper"获得
写在最后
如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot,spring cloud等系列文章,一系列干货随时送达!