Mybatis-Plus解決公共字段快速填充,快速開發(fā)之一天1個(gè)小技巧
痛點(diǎn)
在開發(fā)中,如果有良好的開發(fā)規(guī)范,一般都會(huì)給表增加一些公共字段,比如創(chuàng)建時(shí)間,更新時(shí)間,用戶ID,版本號(hào)等,代碼里每次都要寫上這些字段,能不能對(duì)這些公共字段進(jìn)行統(tǒng)一處理,簡化開發(fā)呢?
解決方案
持久層用mybatis-plus , 然后實(shí)現(xiàn)MetaObjectHandler接口,便可以解決問題。
具體步驟
1 在字段屬性加入注解
2 實(shí)現(xiàn)MetaObjectHandler接口,重新插入和更新的操作
3 通過set方法填充
4 一些特殊字段的填充,比如用戶ID(其他的變量同理),需要登錄后獲得,可以用 ThreadLocal處理。
科普下ThreadLocal(大神就不用看了)
ThreadLocal是Thread的局部變量。當(dāng)使用ThreadLocal維護(hù)變量時(shí),ThreadLocal為每 個(gè)使用該變量的線程提供獨(dú)立的變量副本,所以每一個(gè)線程 都可以獨(dú)立地改變自己的副本,而不會(huì)影響其它線程所對(duì)應(yīng)的副本。ThreadLocal為每個(gè)線程提供單獨(dú)一份存儲(chǔ)空間,具有線程隔離的效果,只有在線程內(nèi)才能獲取到對(duì)應(yīng)的值,線程外則不能訪問。
然后在登錄后把userID設(shè)置進(jìn)ThreadLocal即可。