Mybatis plus學習隨筆: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對象更新操作

 

二.使用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的方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM