最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis-Plus之select、delete用法及說明

 更新時(shí)間:2026年04月25日 11:53:59   作者:今日相樂,皆當(dāng)喜歡  
文章主要講解了Mybatis-Plus中的查詢和刪除操作,查詢操作包括根據(jù)ID、批量和使用map進(jìn)行條件查詢,以及內(nèi)置分頁插件的使用,刪除操作則包括物理刪除和邏輯刪除,其中邏輯刪除需要在數(shù)據(jù)庫和實(shí)體類中進(jìn)行相關(guān)配置

一、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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于SpringBoot啟動(dòng)類靜態(tài)資源路徑問題

    基于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í)緩存以及優(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
  • JAVA使用反射讀取注解方式

    JAVA使用反射讀取注解方式

    在Java中,反射機(jī)制不僅可以操作對(duì)象的屬性和方法,還可以讀取注解,本文介紹了反射讀取注解的步驟,包括定義注解、使用注解、通過反射獲取注解信息及處理注解信息,通過具體代碼例子和運(yùn)行結(jié)果,詳細(xì)解釋了注解的定義、使用和反射獲取注解的過程
    2024-09-09
  • Java創(chuàng)建和填充PDF表單域方法

    Java創(chuàng)建和填充PDF表單域方法

    在本篇文章中小編給大家分享了關(guān)于Java創(chuàng)建和填充PDF表單域方法和步驟,有需要的朋友們學(xué)習(xí)下。
    2019-01-01
  • SpringSecurity6.0 如何通過JWTtoken進(jìn)行認(rèn)證授權(quán)

    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í)例

    這篇文章主要介紹了springboot返回modelandview頁面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java 中的 xx ≠ null 是什么新語法

    Java 中的 xx ≠ null 是什么新語法

    Java中null是一個(gè)關(guān)鍵字,用來標(biāo)識(shí)一個(gè)不確定的對(duì)象。因此可以將null賦給引用類型變量,但不可以將null賦給基本類型變量。本文給大家分享Java 中的 xx ≠ null 是什么新語法,感興趣的朋友一起看看吧
    2021-06-06
  • java多線程從入門到精通看這篇就夠了

    java多線程從入門到精通看這篇就夠了

    熟悉 Java 多線程編程的同學(xué)都知道,當(dāng)我們線程創(chuàng)建過多時(shí),容易引發(fā)內(nèi)存溢出,因此我們就有必要使用線程池的技術(shù)了,今天通過本文給大家分享java多線程從入門到精通的相關(guān)知識(shí),一起看看吧
    2021-06-06
  • Java那點(diǎn)兒事之Map集合不為人知的秘密有哪些

    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ù)

    這篇文章主要介紹了@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論

钟山县| 桓台县| 阆中市| 南投县| 双鸭山市| 梅河口市| 阿鲁科尔沁旗| 益阳市| 梁山县| 宁国市| 牡丹江市| 华亭县| 恩施市| 永济市| 舟曲县| 乌兰察布市| 永登县| 湘阴县| 新平| 通城县| 乌恰县| 沛县| 剑川县| 溆浦县| 砚山县| 四平市| 荣成市| 辉县市| 东莞市| 四子王旗| 达孜县| 盘山县| 江阴市| 潍坊市| 秦安县| 运城市| 南宫市| 蛟河市| 磐石市| 准格尔旗| 密山市|