欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis-Plus查詢中如何排除標(biāo)識(shí)字段

 更新時(shí)間:2021年06月21日 11:27:41   作者:DT辰白  
這篇文章主要介紹了Mybatis-Plus查詢中排除標(biāo)識(shí)字段的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、查詢中排除標(biāo)識(shí)字段

1.1 測(cè)試查詢

@Test
public void findAllTest() {
    List<User> userList = userMapper.selectList(null);
    userList.forEach(System.out::println);
}

1.2 實(shí)體類字段不添加@TableField注解

//邏輯刪除注解(0 未刪除 1 已刪除)
@TableLogic
/*@TableField(select = false)*/
private Boolean isDeleted;

在沒(méi)有加注解的情況下,is_deleted在查詢中存在

Preparing: SELECT id,name,email,age,status,is_deleted,version FROM user WHERE is_deleted=0

1.3 實(shí)體類字段添加@TableField注解

//邏輯刪除注解(0 未刪除 1 已刪除)
@TableLogic
@TableField(select = false)
private Boolean isDeleted;

在加注解的情況下,is_deleted在查詢中不存在

Preparing: SELECT id,name,email,age,status,version FROM user WHERE is_deleted=0

二、查詢中排除標(biāo)識(shí)字段,自定義方法時(shí)需要注意

比如:自定義,查詢年齡大于xxx歲的,返回list集合

@Test
public void mySelectTest() {
    // 查詢年齡大于xxx歲的
    List<User> userList = userMapper.mySelectList(Wrappers.<User>lambdaQuery()
            .gt(User::getAge,1));
    userList.forEach(System.out::println);
}
@Select("select * from user ${ew.customSqlSegment}")
List<User> mySelectList(@Param(Constants.WRAPPER) Wrapper<User> wrapper);

此時(shí)查看控制臺(tái)打印結(jié)果:

在這里插入圖片描述

@TableField(select = false)該注解對(duì)于自定義方法查詢失效了,怎么做呢?加限定條件

 // 查詢年齡大于xxx歲的
 List<User> userList = userMapper.mySelectList(Wrappers.<User>lambdaQuery()
          .gt(User::getAge,1).eq(User::getIsDeleted,0));

在這里插入圖片描述

三、@TableField注解其他用法

Mybatis-plus使用注解 @TableField(exist = false) 注明非數(shù)據(jù)庫(kù)字段屬性

@TableField(exist = false) 

注解加載bean屬性上,表示當(dāng)前屬性不是數(shù)據(jù)庫(kù)的字段,但在項(xiàng)目中必須使用,這樣在新增等使用bean的時(shí)候,mybatis-plus就會(huì)忽略這個(gè),不會(huì)報(bào)錯(cuò)

Mybatis-Plus排除自定義字段不查詢

需求原因

由于數(shù)據(jù)庫(kù)表設(shè)計(jì)為一張為組表

一張為對(duì)應(yīng)組下的參數(shù)表

在查詢數(shù)據(jù)時(shí)想要在查詢組表的同時(shí)吧對(duì)應(yīng)組下的數(shù)據(jù)頁(yè)同時(shí)查出來(lái)

所以在組實(shí)體類下增加了一個(gè)對(duì)應(yīng)的參數(shù)來(lái)接受對(duì)應(yīng)的組數(shù)據(jù)

在這里插入圖片描述

錯(cuò)誤截圖

在這里插入圖片描述

錯(cuò)誤分析

根據(jù)查詢語(yǔ)句來(lái)看

條件查詢默認(rèn)把所有字段都查出來(lái)了

但由于自定義的字段在數(shù)據(jù)庫(kù)中不存在,所以報(bào)錯(cuò)

嘗試

這里最大的問(wèn)題就是如何把自定義字段排除掉,在網(wǎng)上搜了一圈,

最后才在Mybatis-plus的官方文檔里發(fā)現(xiàn)

@TableFiled有一個(gè)exist屬性,是用來(lái)定義字段是否為數(shù)據(jù)庫(kù)表字段的。。。。

在這里插入圖片描述

在這里插入圖片描述

于是把該屬性加上

在這里插入圖片描述

重新運(yùn)行

在這里插入圖片描述

完美解決!

結(jié)論

有問(wèn)題下次先看官方文檔吧,以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家

相關(guān)文章

  • java利用POI讀取excel文件的方法

    java利用POI讀取excel文件的方法

    這篇文章主要介紹了java利用POI讀取excel文件的方法,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-12-12
  • Java實(shí)現(xiàn)輸入流轉(zhuǎn)化為String

    Java實(shí)現(xiàn)輸入流轉(zhuǎn)化為String

    這篇文章主要介紹了Java實(shí)現(xiàn)輸入流轉(zhuǎn)化為String的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • JAVA實(shí)現(xiàn)Excel和PDF上下標(biāo)的操作代碼

    JAVA實(shí)現(xiàn)Excel和PDF上下標(biāo)的操作代碼

    這篇文章主要介紹了JAVA實(shí)現(xiàn)Excel和PDF上下標(biāo),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 從源碼角度看spring mvc的請(qǐng)求處理過(guò)程

    從源碼角度看spring mvc的請(qǐng)求處理過(guò)程

    這篇文章主要介紹了從源碼角度看spring mvc的請(qǐng)求處理過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • SpringBoot前后端交互、全局異常處理之后端異常信息拋到前端顯示彈窗

    SpringBoot前后端交互、全局異常處理之后端異常信息拋到前端顯示彈窗

    Spring Boot是一個(gè)用于構(gòu)建獨(dú)立的、基于生產(chǎn)級(jí)別的Spring應(yīng)用程序的框架,下面這篇文章主要給大家介紹了關(guān)于SpringBoot前后端交互、全局異常處理之后端異常信息拋到前端顯示彈窗的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Java中的HashMap源碼分析

    Java中的HashMap源碼分析

    這篇文章主要介紹了Java中的HashMap源碼分析,散列表是根據(jù)關(guān)鍵碼值(Key?value)而直接進(jìn)行訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),也就是說(shuō),它通過(guò)把關(guān)鍵碼值映射到表中一個(gè)位置來(lái)訪問(wèn)記錄,以加快查找的速度,這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表,需要的朋友可以參考下
    2023-09-09
  • Java適配器模式的實(shí)現(xiàn)及應(yīng)用場(chǎng)景

    Java適配器模式的實(shí)現(xiàn)及應(yīng)用場(chǎng)景

    適配器模式是Java中一種常用的設(shè)計(jì)模式,它通過(guò)將一個(gè)類的接口轉(zhuǎn)換成客戶端所期望的另一種接口來(lái)實(shí)現(xiàn)不同接口之間的兼容性。適配器模式主要應(yīng)用于系統(tǒng)的接口不兼容、需要擴(kuò)展接口功能以及需要適應(yīng)不同環(huán)境的場(chǎng)景
    2023-04-04
  • Java如何使用interrupt()終止線程

    Java如何使用interrupt()終止線程

    這篇文章主要介紹了Java如何使用interrupt()終止線程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java超詳細(xì)整理講解各種排序

    Java超詳細(xì)整理講解各種排序

    這篇文章主要介紹了Java常用的排序算法及代碼實(shí)現(xiàn),在Java開(kāi)發(fā)中,對(duì)排序的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時(shí)候能夠有扎實(shí)的基礎(chǔ)能力。那Java有哪些排序算法呢?本文小編就來(lái)詳細(xì)說(shuō)說(shuō)Java常見(jiàn)的排序算法,需要的朋友可以參考一下
    2022-07-07
  • maven打包插件的使用(maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin)

    maven打包插件的使用(maven-compiler-plugin、maven-dependency-plugin、m

    本文主要介紹了maven打包插件的使用(maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論