mybatis_plus實現自動填充和邏輯刪除


 

自定義填充

  • 設置自定義填充規則

 

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
​
import java.util.Date;
​
@Component
public class MyBatisMetaObjectHandler implements MetaObjectHandler {
​
    /**
     * 自定義插入時填充規則
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        // 注意是類屬性字段名稱,不是表字段名稱
        this.setFieldValByName("createTime", new Date(), metaObject);//新增自動填充當前時間
        this.setFieldValByName("updateTime", new Date(), metaObject);//新增時自動填充當前時間
        this.setFieldValByName("delFlag", 0, metaObject);//新增時候自動填充該標識
        this.setFieldValByName("password", "babc156ac796828d0d08625f86f6dc55", metaObject);//默認密碼123
    }
​
    /**
     * 自定義更新時填充規則
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        // 注意是類屬性字段名稱,不是表字段名稱
        this.setFieldValByName("updateTime", new Date(), metaObject);//修改時候自動填充
    }
​
​
}

 

  • 在實體類上添加注解,

    //創建時間
    @TableField(fill = FieldFill.INSERT) //將會在新增時候填充該字段
    private Date createTime;
    //修改時間
    @TableField(fill = FieldFill.UPDATE) //將在修改時候填充該字段
    private Date updateTime;

     

      

 

mybatisplus邏輯刪除配置

  • 配置mybatis_plus

mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: auto logic-delete-value: 1//刪除字段變一 logic-not-delete-value: 0 //默認為0

 

  • 實體類新增注解,邏輯刪除字段
@TableLogic//打開此注解刪除時自動修改為0,再次查詢自動過濾該條標記數據
@TableField(fill = FieldFill.INSERT)//插入自動填充0
private Integer delFlag;//刪除標記

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM