MyBatis-Plus 高级功能 —— 自动填充功能
一、引言
小編先來(lái)解釋下自動(dòng)填充是做什么的,大家有沒(méi)有在數(shù)據(jù)入庫(kù)的時(shí)候,不管新增或者修改數(shù)據(jù),都要手動(dòng)來(lái)設(shè)置添加時(shí)間和修改時(shí)間。而且每個(gè)插入都需要設(shè)置,而且數(shù)據(jù)庫(kù)還設(shè)置不能為空,就很煩惱。
雖然可以在數(shù)據(jù)庫(kù)設(shè)置默認(rèn)值,但小編沒(méi)得數(shù)據(jù)庫(kù)表修改權(quán)限吶,那就從技術(shù)上來(lái)解決這個(gè)問(wèn)題吧。
if (medicalProcedures.isEmpty()) {procedureConverter.setHisname(emrIpdEncounters.get(0).getHisName());// 手動(dòng)添加值procedureConverter.setCreateTime(new Date());procedureConverter.setUpdateTime(new Date());emrIpdMedicalRecordManage.addMedicalProcedure(procedureConverter); }二、自動(dòng)填充實(shí)現(xiàn)
- 步驟一:在實(shí)體類(lèi)字段上,通過(guò)注解方式設(shè)置需要在執(zhí)行什么操作填充,一共有三種:新增、更新、更新和操作
- 步驟二:創(chuàng)建一個(gè)新的類(lèi),實(shí)現(xiàn)MetaObjectHanlder接口,一個(gè)新增時(shí)填充的方法、一個(gè)修改時(shí)填充的方法
三、自動(dòng)填充使用細(xì)節(jié)
-
細(xì)節(jié)一:這里的填充是針對(duì)整個(gè)數(shù)據(jù)庫(kù)的新增或者更新,都會(huì)執(zhí)行填充的步驟,像這種創(chuàng)建時(shí)間和修改時(shí)間數(shù)據(jù)庫(kù)全表最好統(tǒng)一列名。
-
細(xì)節(jié)二:如果有些數(shù)據(jù)庫(kù)的表沒(méi)有創(chuàng)建時(shí)間和修改時(shí)間字段,如果在執(zhí)行這些操作有點(diǎn)浪費(fèi),可以這樣操作。
- 細(xì)節(jié)三:有時(shí)候特殊表的填充字段,需要我們手動(dòng)來(lái)設(shè)置值,但最后執(zhí)行的時(shí)候又會(huì)被填充覆蓋掉,看以下操作。
- 細(xì)節(jié)四:自動(dòng)填充功能不僅僅針對(duì)創(chuàng)建和修改時(shí)間,可根據(jù)項(xiàng)目需求所使用。
四、來(lái)自小伙伴們的補(bǔ)充
補(bǔ)充一:在使用更新自動(dòng)填充時(shí),只適用于updateById()來(lái)操作,如果平時(shí)使用Wrapper其他條件來(lái)更新時(shí),是不會(huì)自動(dòng)填充的。
文章轉(zhuǎn)自
總結(jié)
以上是生活随笔為你收集整理的MyBatis-Plus 高级功能 —— 自动填充功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 互联网平台“直播+”赋能研究报告
- 下一篇: 男孩子什么品质最吸引女生?