QueryWrapper 详解
一、mybatis plus中实现查询的对象封装操作类
mybatis-plus提供了Wapper抽象类,提供了很多sql语法支持的方法,比如模糊查询,比较,区间,分组查询,排序,判断空,子查询等等,方便我们用面向对象的方式去实现sql语句
Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件,QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类。
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper
QueryWrapper : Entity 对象封装操作类,不适用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
二、案例
/**
* 查找USERID为1、USERNAME为“小明”的实体User对象
* sql: select * from User where USERID = 1 and USERNAME = '小明'
*/
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("USERID", 1);
queryWrapper.eq("USERNAME", 1);
List<User> User= baseMapper.selectOne(queryWrapper );
上面这段代码的意思就是,首先新建一个QueryWrapper对象,类型为User对象,也就是你需要查询的实体数据
queryWrapper.eq("USERID", 1).eq("USERNAME", "小明"); // where USERID = 1 AND USERNAME = '小明'
这两句的意思是 User 对象对应的数据库表中的USERID为1,USERNAME字段值要为"小明",eq 为wrapper 方法中的等于=, 然后调用 baseMapper.selectOne 方法,入参就为前面新建好的查询对象封装类 当你的 Mapper 继承 BaseMapper 接口后,无需编写 mapper.xml 文件,即可获得 CRUD 功能这样mybatis plus底层封装的方法即可实现帮你查询你设置查询条件查询到的数据
三、QueryWrapper 的方法
******************** 结束啦 ********************
本文作者:笔兴洽谈室 哔哩哔哩:笔兴洽谈室 GitHub:StarJava1024 Gitee:StarJava1024
本文链接:https://www.cnblogs.com/CrayonXiaoxing/articles/17255293.html
原创文章仅用于学习,不得修改原作品,不得再创作。若本文侵犯某版权,请私信联系删除!如需转载,请私信!