-
mybatis plus官方文檔:https://mp.baomidou.com/guide/
一.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對象更新操作
二.使用Demo
/** * 查找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); //where USERID = 1
queryWrapper.eq("USERNAME", "小明"); // AND USERNAME = '小明'
這兩句的意思是User對象對應的數據庫表中的USERID為1,USERNAME字段值要為"小明",eq為wrapper方法中的等於=,
然后調用baseMapper.selectOne方法,入參就為前面新建好的查詢對象封裝類
當你的Mapper 繼承BaseMapper接口(BaseMapper學習入口)后,無需編寫 mapper.xml 文件,即可獲得CRUD功能這樣mybatis plus底層封裝的方法即可實現幫你查詢你設置查詢條件查詢到的數據
三.QueryWrapper的方法