中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

哈密市| 岐山县| 陵川县| 江油市| 图片| 宁河县| 万年县| 上蔡县| 仪陇县| 西峡县| 运城市| 贡嘎县| 孟州市| 深泽县| 汶川县| 湘潭县| 新竹市| 招远市| 霸州市| 郑州市| 拉萨市| 建昌县| 徐闻县| 榆社县| 丹阳市| 石门县| 文昌市| 眉山市| 宕昌县| 隆子县| 平昌县| 宜宾县| 泸溪县| 新余市| 虞城县| 盱眙县| 寿宁县| 武乡县| 漾濞| 紫金县| 全椒县|