Wrapper 是所有条件构造器的父类,作用是生成条件语句,即where后面的sql子句 在调用查询,更新,删除操作时,需要根据条件进行判断,可以使用条件构造器进行组合条件,生成where后面条件子句 QueryWrap
Wrapper 是所有条件构造器的父类,作用是生成条件语句,即where后面的sql子句
在调用查询,更新,删除操作时,需要根据条件进行判断,可以使用条件构造器进行组合条件,生成where后面条件子句
QueryWrapper,UpdateWrapper
LambdaQueryWrapper,LambdaUpdateWrapper
UpdateWrapper提供了set方法,可以设置更新后的数据
QueryWrapper,可以对查询,更新,删除操作进行条件组合
LambdaQueryWrapper、LambdaUpdateWrapper支持Lambda表达式,可以通过Lambda表达式获取到对应的字段,省去字段名的编写
有Lambda前缀的,表示支持Lambda表达式
application.yml
server: port: 8080 #数据源配置spring: datasource: driver-class-name: com.Mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatisplus212?characterEncoding=utf-8&serverTimezone=UTC username: root passWord: 123456 type: com.zaxxer.hikari.HikariDataSourcemybatis-plus: configuration: #配置日志信息 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #配置mapper映射文件的位置,默认在类路径/mapper*.xml mapper-locations: classpath:/mapper@SpringBootTestpublic class WrapperTest { @Autowired private IUserService userService; @Test public void testWapperTest(){ //根据id查询用户信息 //select*from t_user where id=4 //创建条件构造器 QueryWrapper objectQueryWrapper = new QueryWrapper<>(); //组合条件 连缀操作 objectQueryWrapper.eq("u_id",4) .likeRight("u_name","李") .ge("age",20) .isNotNull("email"); List list = userService.list(objectQueryWrapper); System.out.println("list = " + list); } //测试 并且 或者 条件 @Test public void testWrapper(){ //更新 年龄大于20 或者 邮箱不为空的 用户姓名 为 小章 // UPDATE t_user SET u_name=? WHERE is_delete=0 AND (age > ? OR email IS NULL) //创建 条件构造器 UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.gt("age",25) .or() .isNull("email"); //更新后用户数据 User user = new User(); user.setName("李华"); boolean update = userService.update(user, updateWrapper); System.out.println("update = " + update); } //测试删除 @Test public void testWrappper2(){ QueryWrapper objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("u_id",2).or().isNotNull("age"); boolean remove = userService.remove(objectQueryWrapper); System.out.println("remove = " + remove); } @Test public void testWrapper3(){ LambdaQueryWrapper objectLambdaQueryWrapper = new LambdaQueryWrapper<>(); objectLambdaQueryWrapper.ge(User::getId,2) .likeRight(User::getName,"李") .ge(User::getAge,24) .isNotNull(User::getEmail); List list = userService.list(objectLambdaQueryWrapper); list.forEach(System.out::println); } @Test public void testWrapper7(){ //更新 LambdaUpdateWrapper objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); objectLambdaUpdateWrapper.isNull(User::getEmail); //更新后数据 objectLambdaUpdateWrapper.set(User::getAge,18); boolean update = userService.update(null, objectLambdaUpdateWrapper); System.out.println("update = " + update); } @Test public void testWrapper8(){ Integer age=19; //查询年龄不为空的用户信息,进行删除 LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); lambdaUpdateWrapper.eq(User::getName,"王五") .or() .isNotNull(User::getEmail) .isNotNull(User::getAge); boolean remove = userService.remove(lambdaUpdateWrapper); System.out.println("remove = " + remove); }}
来源地址:https://blog.csdn.net/m0_68367226/article/details/130587394
--结束END--
本文标题: MyBatis-Plus使用条件构造器实现不同条件的查询,更新删除操作
本文链接: https://www.lsjlt.com/news/385823.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0