| mybatis-plus: |
| configuration: |
| log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
| mapper-locations: classpath:mapper/*.xml |
| type-enums-package: com.dxc.zeno.enums |
| @Configuration |
| @MapperScan("com.dxc.zone.mapper") |
| public class MybatisPlusConfig { |
| |
| @Bean |
| public MybatisPlusInterceptor mybatisPlusInterceptor(){ |
| MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); |
| |
| interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); |
| |
| interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); |
| return interceptor; |
| } |
| |
| } |
| import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| import lombok.extern.slf4j.Slf4j; |
| import org.apache.ibatis.reflection.MetaObject; |
| import org.springframework.stereotype.Component; |
| import java.util.Date; |
| |
| @Slf4j |
| @Component |
| public class MyMetaObjectHandler implements MetaObjectHandler { |
| |
| @Override |
| public void insertFill(MetaObject metaObject) { |
| this.strictInsertFill(metaObject, "deleted", Integer.class, 0); |
| this.strictInsertFill(metaObject, "version", Integer.class, 0); |
| this.setFieldValByName("created",new Date(),metaObject); |
| this.setFieldValByName("updated",new Date(),metaObject); |
| } |
| |
| @Override |
| public void updateFill(MetaObject metaObject) { |
| this.setFieldValByName("updated",new Date(),metaObject); |
| } |
| |
| } |
| @Data |
| @AllArgsConstructor |
| @NoArgsConstructor |
| @ToString |
| @Accessors(chain = true) |
| @TableName("user") |
| public class User implements Serializable { |
| |
| private static final long serialVersionUID = 1L; |
| |
| |
| @TableId(value="id") |
| private int id; |
| |
| @TableField(value = "created", fill = FieldFill.INSERT) |
| private Date created; |
| |
| @TableField(value = "updated", fill = FieldFill.INSERT_UPDATE) |
| private Date updated; |
| |
| @TableField(value = "deleted", fill = FieldFill.INSERT) |
| @TableLogic |
| private Integer deleted; |
| |
| @TableField(value = "version", fill = FieldFill.INSERT) |
| @Version |
| private Integer version; |
| |
| |
| @TableField(value="bir") |
| private Date birthday; |
| |
| |
| @TableField(exist = false) |
| private String userName; |
| |
| } |
| import com.baomidou.mybatisplus.annotation.EnumValue; |
| import lombok.Getter; |
| |
| @Getter |
| public enum SexEnum { |
| |
| MALE(1, "男"), |
| FEMALE(2, "女"); |
| |
| @EnumValue |
| private Integer sex; |
| private String sexName; |
| |
| SexEnum(Integer sex, String sexName) { |
| this.sex = sex; |
| this.sexName = sexName; |
| } |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2022-08-12 验证注解