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

mybatis plus 關(guān)聯(lián)數(shù)據(jù)庫排除不必要字段方式

 更新時間:2022年03月10日 11:44:17   作者:singularity-Charles  
這篇文章主要介紹了mybatis plus 關(guān)聯(lián)數(shù)據(jù)庫排除不必要字段方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

關(guān)聯(lián)數(shù)據(jù)庫排除不必要字段

java自帶 聲明該字段是 transient 的

?? ?/**
?? ? * 虛擬綁定流程當(dāng)前審批人對應(yīng)表字段
?? ? */
? ? private transient ?String status;

聲明該字段是 static 的

?? ?/**
?? ? * 虛擬綁定流程當(dāng)前審批人對應(yīng)表字段
?? ? */
? ? private static ?String status;

通過注解聲明該字段不是一個數(shù)據(jù)庫表里面的字段

?? ?/**
?? ? * 虛擬綁定流程當(dāng)前審批人對應(yīng)表字段
?? ? */
? ? @TableField(exist = false)
? ? private ?String status;

哪種業(yè)務(wù)場景用哪種方式呢?

如果想既支持序列化又不需要關(guān)聯(lián)數(shù)據(jù)庫字段 ,則用 @TableField;

如果只是不想關(guān)聯(lián)數(shù)據(jù)庫,則三種都可以使用;

項目中,由于導(dǎo)出excel 時候,數(shù)據(jù)必須序列化和反序列化,所以用 transient 確實能滿足排除非數(shù)據(jù)庫字段,但是也會導(dǎo)致數(shù)據(jù)導(dǎo)出時候為null,所以這種場景最好用@@TableField 

排除自定義字段不查詢

需求原因

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

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

在查詢數(shù)據(jù)時想要在查詢組表的同時吧對應(yīng)組下的數(shù)據(jù)頁同時查出來

所以在組實體類下增加了一個對應(yīng)的參數(shù)來接受對應(yīng)的組數(shù)據(jù)

錯誤截圖

錯誤分析

根據(jù)查詢語句來看

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

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

嘗試

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

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

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

于是把該屬性加上

重新運行

完美解決!

結(jié)論就是:有問題下次先看官方文檔

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論