最近在做的項目中使用了mybatisplus,遇到了一些小問題,特此記錄。
1、在sql查詢后返回的數據中,會存在一些實體類中本沒有的字段;
遇到這個問題時,我理所當然的就去實體類中添加了這個字段,但是bug馬上就出現了:
Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'manageName' in 'field list'
·原因寫的很清楚了,表中沒有這個字段。
這該怎么辦呢?我們該用什么接收呢?
這就用到了我要說的第一個注解:@TableField
請各位注意看源碼中的紅色框框,屬性exist,默認為true,也就是存在,我們可以設置為false,也就是不存在,就不會出現這個bug啦。
2、id的問題
問題的本院:由於mybatis-plus
會自動插入一個id
到實體對象, 無論你有沒有封裝, 所以有時候導致一些意外的情況發生。
mybatisplus中的id是要有這個注解的,但是這個注解是什么意思呢?我們繼續看源碼。
從IdType枚舉類中我們可以看出,mybatisplus的id策略共有六種,我們可以根據業務的需求自行選擇,這可以讓我們在多表的增刪改查中更加的靈活。