mybatisplus自動填充功能支持使用自定義sql填充br/>原生mybatisplus只能作%s+1和now兩種填充,使用使用@InsertFill註解和@UpdateFill註解在插入或更新時對指定字段進行自定義複雜sql填充。
須要在實體類字段上用原生註解@TableField設置fill=FieldFill.INSERT fill=FieldFill.UPDATE或fill=FieldFill.INSERT_UPDATE不然不會觸發自定義填充br/>mybatisplus-plus使用@InsertFill註解觸發插入時,執行註解中自定義的sql填充實體類字段
mybatisplus-plus使用@UpdateFill註解觸發更新時,執行註解中自定義的sql填充實體類字段git
從中央庫引入jargithub
<dependency> <groupId>com.github.jeffreyning</groupId> <artifactId>mybatisplus-plus</artifactId> <version>0.0.1-RELEASE</version> </dependency>
在實體類字段上設置@InsertFill,在插入時對seqno字段自動填充複雜計算值
查詢當前最大的seqno值並加3,轉換成10位字符串,不夠位數時用0填充sql
@TableField(value="seqno",fill=FieldFill.INSERT ) @InsertFill("select lpad(max(seqno)+3,10,'0') from test") private String seqno;
在實體類字段上設置@InsertFill @UpdateFill,插入和更新時使用當前時間填充mybatis
@InsertFill("select now()") @UpdateFill("select now()") @TableField(value="update_time",fill=FieldFill.INSERT_UPDATE) private Date updateTime;
在啓動類中使用@EnableMPP啓動擴展自定義填充功能ide
@SpringBootApplication @EnableMPP public class PlusDemoApplication { public static void main(String[] args) { SpringApplication.run(PlusDemoApplication.class, args); } }
demo下載
mybatisplus-plus示例工程下載地址
連接:https://pan.baidu.com/s/1EkDUW5zbtIjsvFJFf2IWVg code
掃描訂閱公衆號,回覆"plus"獲取下載密碼字符串