SSM项目集成mybatis-plus之自动填充字段、逻辑删除、分页插件

SSM项目集成mybatis-plus之自动填充字段、逻辑删除、分页插件,第1张

SSM项目集成mybatis-plus之自动填充字段、逻辑删除、分页插件

SSM项目集成mybatis-plus之自动填充字段、逻辑删除、分页插件

1. 自动填充字段

1. 实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.metaObjectHandler2. 注解填充字段 @TableField(.. fill = FieldFill.INSERT) 生成器策略部分也可以配置!3. 将MymetaObjectHandler配置到Mybatis-plus中 2. 逻辑删除

1. 配置GlobalConfig2. 实体类字段上加上@TableLogic注解 3. 分页插件
spring配置文件将自动填充字段、逻辑删除、分页插件都配置上如下:


    
    
    
        
            
                
                    
                    	
                        
                    
                
            
        
    



    
    
        
    
    
    
        
            
            
        
    

1. 自动填充字段

官网教程针对springboot的配置如下

1. 实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.metaObjectHandler
@Slf4j
@Component
public class MymetaObjectHandler implements metaObjectHandler {

    @Override
    public void insertFill(metaObject metaObject) {
        log.info("start insert fill ....");
        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用)
        // 或者
        this.strictInsertFill(metaObject, "createTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐)
        // 或者
        this.fillStrategy(metaObject, "createTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug)
    }

    @Override
    public void updateFill(metaObject metaObject) {
        log.info("start update fill ....");
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐)
        // 或者
        this.strictUpdateFill(metaObject, "updateTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐)
        // 或者
        this.fillStrategy(metaObject, "updateTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug)
    }
}	
2. 注解填充字段 @TableField(… fill = FieldFill.INSERT) 生成器策略部分也可以配置!
public class User {
    // 注意!这里需要标记为填充字段
    @TableField(.. fill = FieldFill.INSERT)
    private String fillField;

    ....
}

因为springboot底层帮我们做好了自动配置,我们只需要根据需求去添加组件即可。

但是SSM项目并没有自动配置功能,因此我们需要自己去配置。

@Component注解只是帮我们把MymetaObjectHandler注册到Spring容器中,但并不会把MymetaObjectHandler配置到Mybatis-plus中。

所以,除了上述两步,还需要将MymetaObjectHandler配置到Mybatis-plus中

3. 将MymetaObjectHandler配置到Mybatis-plus中

    
    



    
    
        
        

2. 逻辑删除 1. 配置GlobalConfig

        
        
    

    
        
        
            
                
                
            
        
    
2. 实体类字段上加上@TableLogic注解
@TableLogic
private Integer deleted;
3. 分页插件

3.4.0版本之前


	
	    
	        
	            
	            
	            
	            
	        
	    
	



    
    

3.4.0版本之后


   
   
       
           
               
                   
                       
                   
               
           
       
   

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5716816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存