亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis Plus select如何實現只查詢部分字段

發布時間:2021-09-02 09:09:03 來源:億速云 閱讀:2879 作者:小新 欄目:開發技術

小編給大家分享一下Mybatis Plus select如何實現只查詢部分字段,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Mybatis Plus select 查詢部分字段

Mybatis Plus select語句默認查詢所有字段,如需要指定字段查詢,則需使用 QueryWrapper的select方法。

select

select(String... sqlSelect)  
select(Predicate<TableFieldInfo> predicate)  
select(Class<T> entityClass, Predicate<TableFieldInfo> predicate)

設置查詢字段

說明:

以上方法分為兩類。

第二類方法為:過濾查詢字段(主鍵除外),入參不包含 class 的調用前需要wrapper內的entity屬性有值! 這兩類方法重復調用以最后一次為準

例:指定查詢主鍵,名字,年齡字段

select("id", "name", "age")

例: 查詢以test開頭的屬性

select(i ‐> i.getProperty().startsWith("test"))

例:查詢User對象中出除manager_id和create_time外其它所有字段的數據

select(User.class, info ‐> !info.getColumn().equals("manager_id") 
&& !info.getColumn().equals("create_time"))

MyBatis-Plus之select、delete

一、Mybatis-Plus之查詢操作

1、查詢操作常用API

根據ID查詢測試代碼如下:

//測試根據ID查詢
@Test
public void testSelectById(){
	User user = userMapper.selectById(2L);
	System.out.println(user);
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

批量查詢測試代碼如下:

//測試批量查詢
@Test
public void testSelectByBatchIds(){
	List<User> users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
	users.forEach(System.out::println);
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

使用map進行條件查詢測試代碼如下:

//按條件查詢之使用map操作
@Test
public void testSelectByMap(){
	Map map = new HashMap();
	map.put("name","哈利油");
	map.put("age",18);
 
	List list = userMapper.selectByMap(map);
	list.forEach(System.out::println);
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

2、分頁查詢

分頁在項目里使用得十分多,平時一般是使用pageHelpr插件進行分頁,還可以使用原始的limit進行分頁;MP其實內置了分頁插件,使用步驟如下:

2.1、在配置類里注冊分頁插件

Mybatis Plus select如何實現只查詢部分字段

//注冊分頁插件
@Bean
public PaginationInterceptor paginationInterceptor(){
	return new PaginationInterceptor();
}

2.2、直接使用MP內置的Page對象進行分頁,測試代碼如下

@Test
public void testPage(){
	//參數1:當前頁,參數2:頁面大小
	Page<User> page = new Page<>(1,5);
	//用于排序
	page.setDesc("id");
	IPage<User> userIPage = userMapper.selectPage(page, null);
 
	userIPage.getRecords().forEach(System.out::println);
	System.out.println(userIPage.getTotal());
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

二、Mybatis-Plus之刪除操作

1、物理刪除操作常用API

根據ID刪除測試代碼如下:

//測試刪除
@Test
public void testDeleteById(){
	userMapper.deleteById(1L);
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

根據ID批量刪除測試代碼如下:

//通過id批量刪除
@Test
public void testDeleteBatchId(){
	userMapper.deleteBatchIds(Arrays.asList(2L,3L));
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

使用map進行條件刪除測試代碼如下:

@Test
public void testDeleteMap(){
	Map map = new HashMap();
	map.put("name","哈利油");
	userMapper.deleteByMap(map);
}

測試結果如下:

Mybatis Plus select如何實現只查詢部分字段

2、邏輯刪除

在工作中有時需要使用到邏輯刪除,邏輯刪除即數據在數據庫里沒有被移除,而是通過一個變量來讓它失效;一般管理員可以查看被邏輯刪除的數據,這樣可防止數據的丟失,類似于回收站功能

MP邏輯刪除使用步驟如下:

2.1、在數據庫里增加deleted字段

Mybatis Plus select如何實現只查詢部分字段

2.2、在實體類對應的屬性上加上@TableLogic注解

Mybatis Plus select如何實現只查詢部分字段

2.3、在配置類里注冊邏輯刪除組件

Mybatis Plus select如何實現只查詢部分字段

//注冊邏輯刪除組件
@Bean
public ISqlInjector sqlInjector(){
	return new LogicSqlInjector();
}

2.4、在application.properties文件里配置已刪除跟未刪除用什么來表示

Mybatis Plus select如何實現只查詢部分字段

mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0

2.5、測試邏輯刪除

Mybatis Plus select如何實現只查詢部分字段

Mybatis Plus select如何實現只查詢部分字段

Mybatis Plus select如何實現只查詢部分字段

以上是“Mybatis Plus select如何實現只查詢部分字段”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

闵行区| 开原市| 托克逊县| 天峨县| 永年县| 西城区| 昌黎县| 秀山| 遂昌县| 石家庄市| 宜兰市| 凤山市| 资阳市| 怀宁县| 伊宁县| 济宁市| 大名县| 宁阳县| 墨玉县| 长岭县| 罗江县| 尚义县| 兴安盟| 津市市| 福贡县| 昌宁县| 海盐县| 烟台市| 通州市| 甘南县| 黑河市| 台北县| 会东县| 南召县| 明水县| 温泉县| 镇雄县| 于都县| 库尔勒市| 宜川县| 龙江县|