欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis-Plus自動(dòng)填充的實(shí)現(xiàn)示例

 更新時(shí)間:2019年08月27日 14:32:17   作者:天一方藍(lán)  
這篇文章主要介紹了Mybatis-Plus自動(dòng)填充的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在常用業(yè)務(wù)中有些屬性需要配置一些默認(rèn)值,MyBatis-Plus提供了實(shí)現(xiàn)此功能的插件。在這里修改user表添加 create_time 字段和 update_time 字段,在User類中添加對(duì)應(yīng)屬性。

1、為需要自動(dòng)填充的屬性添加注解 @TableField

提供了4種自動(dòng)填充策略:DEFAULT,默認(rèn)不處理。INSERT,插入填充字段。UPDATE,更新填充字段。INSERT_UPDATE,插入和更新填充字段。

@Data
public class User {
  private Long id;
  private String name;
  private Integer age;
  private String email;

  @TableField(fill = FieldFill.INSERT)
  private Date createTime;
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Date updateTime;
}

2、實(shí)現(xiàn)字段填充控制器,編寫自定義填充規(guī)則

實(shí)現(xiàn) MetaObjectHandler 接口,實(shí)現(xiàn) insertFill 和 updateFill 方法,此處的 create_time 和update_time字段需要插入時(shí)填充值, 只有 update_time 字段在修改時(shí)需要填充,所以策略如下。

//需要將自定義填充控制器注冊(cè)為組件

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

  private static final Logger LOGGER= LoggerFactory.getLogger(MyMetaObjectHandler.class);

  //insert操作時(shí)要填充的字段
  @Override
  public void insertFill(MetaObject metaObject) {
    LOGGER.info("start insert fill ...");
    //根據(jù)屬性名字設(shè)置要填充的值
    this.setFieldValByName("createTime",new Date(),metaObject);
    this.setFieldValByName("updateTime",new Date(),metaObject);
  }

  //update操作時(shí)要填充的字段
  @Override
  public void updateFill(MetaObject metaObject) {
    LOGGER.info("start insert fill ...");
    this.setFieldValByName("updateTime",new Date(),metaObject);
  }
}

3、插入數(shù)據(jù)測(cè)試

@RunWith(SpringRunner.class)
@SpringBootTest
public class CRUDTest {
  @Autowired
  private UserMapper userMapper;

  @Test
  public void testInsert(){
    User user = new User();
    user.setName("jack11");
    user.setAge(20);
    user.setEmail("4849111@qq.com");

    int result= userMapper.insert(user);
    System.out.println(result);
    System.out.println(user);
  } 
}

4、修改數(shù)據(jù)測(cè)試

@Test
public void testUpdate(){
  User user = new User();
  user.setId(2L);
  user.setName("Jackie");
  int result = userMapper.updateById(user);
  System.out.println(result);
}

一次插入數(shù)據(jù)后,create_time和update_time都被填充了設(shè)置的時(shí)間,做update操作后只有update_time的進(jìn)行了填充修改。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA找不到database圖標(biāo)的簡單圖文解決方法

    IDEA找不到database圖標(biāo)的簡單圖文解決方法

    idea是一個(gè)功能十分強(qiáng)大的IDE,大家在使用他進(jìn)行開發(fā)時(shí)候,必不可少的就是連接數(shù)據(jù)庫了,這篇文章主要給大家介紹了關(guān)于IDEA找不到database圖標(biāo)的解決方法,需要的朋友可以參考下
    2024-07-07
  • 解決JDBC連接Mysql長時(shí)間無動(dòng)作連接失效的問題

    解決JDBC連接Mysql長時(shí)間無動(dòng)作連接失效的問題

    這篇文章主要介紹了解決JDBC連接Mysql長時(shí)間無動(dòng)作連接失效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析二之前端調(diào)用后端

    Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析二之前端調(diào)用后端

    我們講到了后端純Java Code的Dwr3配置,完全去掉了dwr.xml配置文件,但是對(duì)于使用注解的類卻沒有使用包掃描,而是在Servlet初始化參數(shù)的classes里面加入了我們的Service組件的聲明暴露,對(duì)于這個(gè)問題需要后面我們?cè)偌?xì)細(xì)研究下這篇文章,主要分析介紹前端怎么直接調(diào)用后端
    2016-04-04
  • Java中List<T>和List<?>的區(qū)別詳解

    Java中List<T>和List<?>的區(qū)別詳解

    這篇文章主要介紹了Java中List<T>和List<?>的區(qū)別詳解。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 解決mapstruct在eclipse生成不了mapper的實(shí)現(xiàn)類問題

    解決mapstruct在eclipse生成不了mapper的實(shí)現(xiàn)類問題

    這篇文章主要介紹了解決mapstruct在eclipse生成不了mapper的實(shí)現(xiàn)類問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java實(shí)現(xiàn)簡易版聯(lián)網(wǎng)坦克對(duì)戰(zhàn)小游戲(附源碼)

    Java實(shí)現(xiàn)簡易版聯(lián)網(wǎng)坦克對(duì)戰(zhàn)小游戲(附源碼)

    這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)簡易版聯(lián)網(wǎng)坦克對(duì)戰(zhàn)小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java中Calendar與Date類型互相轉(zhuǎn)換的方法

    java中Calendar與Date類型互相轉(zhuǎn)換的方法

    這篇文章主要介紹了java中Calendar與Date類型互相轉(zhuǎn)換的方法,Calendar與Date類型是我們?nèi)粘i_發(fā)中常用的兩種數(shù)據(jù)類型,它們用于不同的場(chǎng)景,兩者具有不同的方法,接下來通過實(shí)例給大家詳解,需要的朋友可以參考下
    2022-09-09
  • 詳解SpringBoot接收參數(shù)的五種形式

    詳解SpringBoot接收參數(shù)的五種形式

    在Spring Boot中,接收參數(shù)可以通過多種方式實(shí)現(xiàn),本文給大家介紹了SpringBoot接收參數(shù)的五種形式,并通過代碼和圖文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • 淺談Java中OutOfMemoryError問題產(chǎn)生原因

    淺談Java中OutOfMemoryError問題產(chǎn)生原因

    本文主要介紹了淺談Java中OutOfMemoryError問題產(chǎn)生原因,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringBoot2新特性 自定義端點(diǎn)詳解

    SpringBoot2新特性 自定義端點(diǎn)詳解

    這篇文章主要介紹了SpringBoot2新特性 自定義端點(diǎn)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論