MyBatis-Plus之select、delete用法及說明
一、Mybatis-Plus之查詢操作
1、查詢操作常用API
根據(jù)ID查詢測(cè)試代碼如下:
//測(cè)試根據(jù)ID查詢
@Test
public void testSelectById(){
User user = userMapper.selectById(2L);
System.out.println(user);
}
測(cè)試結(jié)果如下:

批量查詢測(cè)試代碼如下:
//測(cè)試批量查詢
@Test
public void testSelectByBatchIds(){
List<User> users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
users.forEach(System.out::println);
}
測(cè)試結(jié)果如下:

使用map進(jìn)行條件查詢測(cè)試代碼如下:
//按條件查詢之使用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);
}
測(cè)試結(jié)果如下:

2、分頁查詢
分頁在項(xiàng)目里使用得十分多,平時(shí)一般是使用pageHelpr插件進(jìn)行分頁,還可以使用原始的limit進(jìn)行分頁;MP其實(shí)內(nèi)置了分頁插件,使用步驟如下:
2.1、在配置類里注冊(cè)分頁插件

//注冊(cè)分頁插件
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
2.2、直接使用MP內(nèi)置的Page對(duì)象進(jìn)行分頁,測(cè)試代碼如下
@Test
public void testPage(){
//參數(shù)1:當(dāng)前頁,參數(shù)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());
}
測(cè)試結(jié)果如下:

二、Mybatis-Plus之刪除操作
1、物理刪除操作常用API
根據(jù)ID刪除測(cè)試代碼如下:
//測(cè)試刪除
@Test
public void testDeleteById(){
userMapper.deleteById(1L);
}
測(cè)試結(jié)果如下:

根據(jù)ID批量刪除測(cè)試代碼如下:
//通過id批量刪除
@Test
public void testDeleteBatchId(){
userMapper.deleteBatchIds(Arrays.asList(2L,3L));
}
測(cè)試結(jié)果如下:

使用map進(jìn)行條件刪除測(cè)試代碼如下:
@Test
public void testDeleteMap(){
Map map = new HashMap();
map.put("name","哈利油");
userMapper.deleteByMap(map);
}
測(cè)試結(jié)果如下:

2、邏輯刪除
在工作中有時(shí)需要使用到邏輯刪除,邏輯刪除即數(shù)據(jù)在數(shù)據(jù)庫里沒有被移除,而是通過一個(gè)變量來讓它失效;一般管理員可以查看被邏輯刪除的數(shù)據(jù),這樣可防止數(shù)據(jù)的丟失,類似于回收站功能
MP邏輯刪除使用步驟如下:
2.1、在數(shù)據(jù)庫里增加deleted字段

2.2、在實(shí)體類對(duì)應(yīng)的屬性上加上@TableLogic注解

2.3、在配置類里注冊(cè)邏輯刪除組件

//注冊(cè)邏輯刪除組件
@Bean
public ISqlInjector sqlInjector(){
return new LogicSqlInjector();
}
2.4、在application.properties文件里配置
已刪除跟未刪除用什么來表示

mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0
2.5、測(cè)試邏輯刪除



總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Mybatis-Plus條件構(gòu)造器的select用法解讀
- Mybatis-Plus select不去查全部字段和去重問題
- mybatis-plus報(bào)錯(cuò)net.sf.jsqlparser.statement.select.SelectBody的問題解決
- mybatis-plus @select動(dòng)態(tài)查詢方式
- MyBatis-Plus動(dòng)態(tài)表名使用selectPage方法不生效問題解析與解決方案
- 解決MyBatis-Plus使用動(dòng)態(tài)表名selectPage不生效的問題
- Mybatis-plus的selectPage()分頁查詢不生效問題解決
相關(guān)文章
基于SpringBoot啟動(dòng)類靜態(tài)資源路徑問題
這篇文章主要介紹了SpringBoot啟動(dòng)類靜態(tài)資源路徑問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
MyBatis的一級(jí)緩存和二級(jí)緩存以及優(yōu)點(diǎn)說明
MyBatis的緩存機(jī)制包括一級(jí)緩存和二級(jí)緩存,一級(jí)緩存是SqlSession級(jí)別的緩存,開啟默認(rèn),二級(jí)緩存是跨SqlSession的緩存,需要手動(dòng)開啟和配置,二級(jí)緩存的優(yōu)點(diǎn)是減少數(shù)據(jù)庫訪問、提高性能、降低負(fù)載和提高可擴(kuò)展性,同時(shí)需要注意緩存可能導(dǎo)致的數(shù)據(jù)不一致問題2025-02-02
SpringSecurity6.0 如何通過JWTtoken進(jìn)行認(rèn)證授權(quán)
這篇文章主要介紹了SpringSecurity6.0 通過JWTtoken進(jìn)行認(rèn)證授權(quán)的過程,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-04
springboot返回modelandview頁面的實(shí)例
這篇文章主要介紹了springboot返回modelandview頁面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Java那點(diǎn)兒事之Map集合不為人知的秘密有哪些
Map用于保存具有映射關(guān)系的數(shù)據(jù),Map集合里保存著兩組值,一組用于保存Map的key,另一組保存著Map的value,和查字典類似,通過key找到對(duì)應(yīng)的value,通過頁數(shù)找到對(duì)應(yīng)的信息。用學(xué)生類來說,key相當(dāng)于學(xué)號(hào),value對(duì)應(yīng)name,age,sex等信息。用這種對(duì)應(yīng)關(guān)系方便查找2021-10-10
@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)
這篇文章主要介紹了@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08

