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

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í)體類(lèi)字段不添加@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í)體類(lèi)字段添加@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í)體類(lèi)下增加了一個(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)文章

最新評(píng)論

宁乡县| 郸城县| 满城县| 开原市| 阜宁县| 柞水县| 托克托县| 巴东县| 土默特左旗| 鹰潭市| 万州区| 靖边县| 抚州市| 孙吴县| 辉南县| 固阳县| 乌兰县| 时尚| 临潭县| 株洲市| 新巴尔虎右旗| 平顶山市| 沈丘县| 永新县| 枣强县| 新竹县| 会宁县| 玉门市| 达日县| 商城县| 清原| 延川县| 安丘市| 玉龙| 旬阳县| 望奎县| 广安市| 科技| 桓台县| 阿拉善左旗| 庆元县|