mybatis plus 關(guān)聯(lián)數(shù)據(jù)庫(kù)排除不必要字段方式
關(guān)聯(lián)數(shù)據(jù)庫(kù)排除不必要字段
java自帶 聲明該字段是 transient 的
?? ?/** ?? ? * 虛擬綁定流程當(dāng)前審批人對(duì)應(yīng)表字段 ?? ? */ ? ? private transient ?String status;
聲明該字段是 static 的
?? ?/** ?? ? * 虛擬綁定流程當(dāng)前審批人對(duì)應(yīng)表字段 ?? ? */ ? ? private static ?String status;
通過(guò)注解聲明該字段不是一個(gè)數(shù)據(jù)庫(kù)表里面的字段
?? ?/** ?? ? * 虛擬綁定流程當(dāng)前審批人對(duì)應(yīng)表字段 ?? ? */ ? ? @TableField(exist = false) ? ? private ?String status;
哪種業(yè)務(wù)場(chǎng)景用哪種方式呢?
如果想既支持序列化又不需要關(guān)聯(lián)數(shù)據(jù)庫(kù)字段 ,則用 @TableField;
如果只是不想關(guān)聯(lián)數(shù)據(jù)庫(kù),則三種都可以使用;
項(xiàng)目中,由于導(dǎo)出excel 時(shí)候,數(shù)據(jù)必須序列化和反序列化,所以用 transient 確實(shí)能滿足排除非數(shù)據(jù)庫(kù)字段,但是也會(huì)導(dǎo)致數(shù)據(jù)導(dǎo)出時(shí)候?yàn)閚ull,所以這種場(chǎng)景最好用@@TableField
排除自定義字段不查詢
需求原因
由于數(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)文章
HashMap vs TreeMap vs Hashtable vs LinkedHashMap
這篇文章主要介紹了HashMap vs TreeMap vs Hashtable vs LinkedHashMap的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Java?String源碼contains題解重復(fù)疊加字符串匹配
這篇文章主要為大家介紹了Java?String源碼contains題解重復(fù)疊加字符串匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11一文解決pom.xml報(bào)錯(cuò)Dependency "xxx" not f
我們?cè)谑褂胢aven進(jìn)行jar包管理時(shí)有時(shí)會(huì)遇到pom.xml中報(bào)錯(cuò)Dependency “XXX” not found,所以在本文中將給大家介紹一下pom.xml報(bào)錯(cuò)Dependency "xxx" not found的解決方案,需要的朋友可以參考下2024-01-01Java?C++題解leetcode字符串輪轉(zhuǎn)KMP算法詳解
這篇文章主要為大家介紹了Java?C++題解leetcode字符串輪轉(zhuǎn)KMP算法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09線程池之newFixedThreadPool定長(zhǎng)線程池的實(shí)例
這篇文章主要介紹了線程池之newFixedThreadPool定長(zhǎng)線程池的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06springboot 在ftl頁(yè)面上使用shiro標(biāo)簽的實(shí)例代碼
這篇文章主要介紹了springboot 在ftl頁(yè)面上使用shiro標(biāo)簽的實(shí)例代碼,通過(guò)文字說(shuō)明結(jié)合實(shí)例的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-05-05springboot本地調(diào)試沒(méi)問(wèn)題,打包運(yùn)行報(bào)錯(cuò)原因及分析
這篇文章主要介紹了springboot本地調(diào)試沒(méi)問(wèn)題,打包運(yùn)行報(bào)錯(cuò)原因及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05