| public enum FieldFill { |
| |
| |
| |
| DEFAULT, |
| |
| |
| |
| INSERT, |
| |
| |
| |
| UPDATE, |
| |
| |
| |
| INSERT_UPDATE |
| } |
| @Data |
| @EqualsAndHashCode(callSuper = false) |
| @Accessors(chain = true) |
| @TableName("book") |
| public class Book implements Serializable { |
| |
| private static final long serialVersionUID = 1l; |
| |
| @TableId(value = "id", type = IdType.ASSIGN_UUID) |
| private String id; |
| |
| @TableField(value = "created", fill = FieldFill.INSERT) |
| private Date created; |
| |
| @TableField(value = "updated", fill = FieldFill.INSERT_UPDATE) |
| private Date updated; |
| |
| @TableField(value="bookname", fill = FieldFill.INSERT_UPDATE) |
| private String bookname; |
| |
| } |
| @Slf4j |
| @Component |
| public class MyMetaObjectHandler implements MetaObjectHandler { |
| |
| |
| |
| |
| |
| @Override |
| public void insertFill(MetaObject metaObject) { |
| this.strictInsertFill(metaObject, "bookname", String.class, "红楼梦"); |
| this.setFieldValByName("created",new Date(),metaObject); |
| this.setFieldValByName("updated",new Date(),metaObject); |
| } |
| |
| |
| |
| |
| |
| @Override |
| public void updateFill(MetaObject metaObject) { |
| this.setFieldValByName("updated",new Date(),metaObject); |
| } |
| |
| } |
| @RestController |
| @RequestMapping("/test") |
| public class TestController { |
| |
| @Autowired |
| private UserMapper userMapper; |
| |
| @Autowired |
| private BookMapper bookMapper; |
| |
| |
| |
| |
| |
| |
| @RequestMapping("/test1") |
| @ResponseBody |
| public String test1(){ |
| bookMapper.insert(new Book()); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| |
| @RequestMapping("/test2") |
| @ResponseBody |
| public String test2(){ |
| Book book = new Book(); |
| book.setId("1"); |
| book.setBookname("西游记"); |
| bookMapper.updateById(book); |
| return "success"; |
| } |
| |
| } |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术