Mybatis-Plus常用的查詢方法--看這一篇就夠了!!!

小王寫部落格發表於2021-09-13

前言:

Mybatis-Plus作為Mybatis的增強,自己封裝了很多簡單還用的方法,來解脫自己寫sql!
對於專案的搭建小編就不在說了,可以參考:
SpringBoot+Mybatis-Plus的入門搭建與配置測試
這樣就可以跟小編站在同一起跑線了,我們們直接開始介紹方法的使用哦!!

步入正題:

方法一:根據主鍵id去查詢單個結果 selectById

	/**
	 * 方法一: 根據主鍵id去查詢單個結果
	 * T selectById(Serializable id); ---引數為主鍵型別
	 */
	User user1 = userMapper.selectById(1);
	/**
	* 返回值結果
	* {"id": 1,"name": "df","age": 222}
	*/

方法二:查詢多條資料庫中的記錄 selectList

	/**
	* 方法二:  查詢多條資料庫中的記錄
	* List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);  
	* ---引數為Wrapper可以為空說明沒有條件的查詢
	*/
	List<User> users1 = userMapper.selectList(null);
	/**
	* 執行結果集
	* [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
	*/

方法三:查詢多條資料庫中的記錄---條件查詢 selectList(wrapper)

	/**
	 * 方法三:查詢多條資料庫中的記錄---條件查詢
	 * List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
	 */
	//首先構造QueryWrapper來進行條件的新增
	QueryWrapper wrapper = new QueryWrapper();
	wrapper.eq("id",1);//相當於where id=1
	
	List<User> list = userMapper.selectList(wrapper);
	/**
	 * 返回值結果
	 * {"id": 1,"name": "df","age": 222}
	 */

福利贈送:條件構造器QueryWrapper常用方法

	/**
	  *附加條件構造器QueryWrapper常用方法 ---這幾個肯定夠用了
	  */
	 wrapper.eq("資料庫欄位名", "條件值"); //相當於where條件
	 wrapper.between("資料庫欄位名", "區間一", "區間二");//相當於範圍內使用的between
	 wrapper.like("資料庫欄位名", "模糊查詢的字元"); //模糊查詢like
	 wrapper.groupBy("資料庫欄位名");  //相當於group by分組
	 wrapper.in("資料庫欄位名", "包括的值,分割"); //相當於in
	 wrapper.orderByAsc("資料庫欄位名"); //升序
	 wrapper.orderByDesc("資料庫欄位名");//降序
	 wrapper.ge("資料庫欄位名", "要比較的值"); //大於等於
	 wrapper.le("資料庫欄位名", "要比較的值"); //小於等於

方法四:根據主鍵的id集合進行多條資料的查詢 selectBatchIds

	/**
	 * 方法四:  根據主鍵的id集合進行多條資料的查詢
	 * List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);   
	 * --條件為集合
	 */
	List list1 = Arrays.asList(1,2);
	List<User> list2 = userMapper.selectBatchIds(list1);
	/**
	 * 執行結果集
	 * [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
	 */

方法五:分頁查詢 selectPage

	/**
	 * 方法五:  分頁查詢
	 * IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);  
	 * ---引數為分頁的資料+條件構造器
	 */
	IPage<User> page = new Page<>(1,2);//引數一:當前頁,引數二:每頁記錄數
	//這裡想加分頁條件的可以如方法三自己構造條件構造器
	IPage<User> userIPage = userMapper.selectPage(page, null);
	
	/**
	 * 執行結果集
	 * {"records":[{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}],
	 *  "total": 0,"size": 2,"current": 1,"searchCount": true,"pages": 0 }
	 */

小結:

謝謝大家的學習與觀看,這五個是比較常用的方法,其他也有小編開發中沒怎麼用到,就不教學了。有問題留言交流,下期帶來插入更新刪除常用方法哦!!

相關文章