Skip to content

Commit

Permalink
perf($MyBatis): field auto fill
Browse files Browse the repository at this point in the history
[skip ci]
  • Loading branch information
Johnny Miller (锺俊) committed Jan 13, 2021
1 parent 4f4b207 commit 6497bcc
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 21 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.jmsoftware.maf.authcenter.permission.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
Expand Down Expand Up @@ -77,13 +74,13 @@ public class PermissionPersistence implements Serializable {
/**
* Created time
*/
@TableField(value = "created_time")
@TableField(value = "created_time", fill = FieldFill.INSERT)
private Date createdTime;

/**
* Modified time
*/
@TableField(value = "modified_time")
@TableField(value = "modified_time", fill = FieldFill.INSERT_UPDATE)
private Date modifiedTime;

public static final String COL_ID = "id";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.jmsoftware.maf.authcenter.role.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
Expand Down Expand Up @@ -40,13 +37,13 @@ public class RolePersistence implements Serializable {
/**
* Created time
*/
@TableField(value = "created_time")
@TableField(value = "created_time", fill = FieldFill.INSERT)
private Date createdTime;

/**
* Modified time
*/
@TableField(value = "modified_time")
@TableField(value = "modified_time", fill = FieldFill.INSERT_UPDATE)
private Date modifiedTime;

public static final String COL_ID = "id";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,32 @@

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import java.time.LocalDateTime;

/**
* <h1>MyBatisPlusConfiguration</h1>
* <p>
* Change description here.
*
* TODO: migrate this configuration to `spring-boot-starter`
* <p>
*
* @author Johnny Miller (锺俊), email: johnnysviva@outlook.com
* @date 2019-05-02 11:57
**/
@Slf4j
@Configuration
@EnableTransactionManagement
public class MyBatisPlusConfiguration {
public class MyBatisPlusConfiguration implements MetaObjectHandler {
@Bean
public PaginationInnerInterceptor paginationInnerInterceptor() {
val paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
Expand Down Expand Up @@ -58,4 +63,16 @@ public MybatisPlusInterceptor mybatisPlusInterceptor(PaginationInnerInterceptor
mybatisPlusInterceptor.addInnerInterceptor(blockAttackInnerInterceptor);
return mybatisPlusInterceptor;
}

@Override
public void insertFill(MetaObject metaObject) {
log.info("Start to insert fill ....");
this.strictInsertFill(metaObject, "createdTime", LocalDateTime.class, LocalDateTime.now());
}

@Override
public void updateFill(MetaObject metaObject) {
log.info("Start to update fill ....");
this.strictUpdateFill(metaObject, "modifiedTime", LocalDateTime::now, LocalDateTime.class);
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.jmsoftware.maf.authcenter.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
Expand Down Expand Up @@ -85,13 +82,13 @@ public class UserPersistence implements Serializable {
/**
* Created time
*/
@TableField(value = "created_time")
@TableField(value = "created_time", fill = FieldFill.INSERT)
private Date createdTime;

/**
* Modified time
*/
@TableField(value = "modified_time")
@TableField(value = "modified_time", fill = FieldFill.INSERT_UPDATE)
private Date modifiedTime;

public static final String COL_ID = "id";
Expand Down

0 comments on commit 6497bcc

Please sign in to comment.