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

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

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

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

//注冊分頁插件
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
2.2、直接使用MP內(nèi)置的Page對象進(jìn)行分頁,測試代碼如下
@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());
}
測試結(jié)果如下:

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

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

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

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

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

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

//注冊邏輯刪除組件
@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、測試邏輯刪除



總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringSecurity6.0 如何通過JWTtoken進(jìn)行認(rèn)證授權(quán)
這篇文章主要介紹了SpringSecurity6.0 通過JWTtoken進(jìn)行認(rèn)證授權(quán)的過程,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-04
@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)
這篇文章主要介紹了@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08

