@@ -33,24 +33,47 @@ public class User {
3333创建一个类来实现 ` MetaObjectHandler ` 接口,并重写 ` insertFill ` 和 ` updateFill ` 方法。
3434
3535``` java
36+ // java example
3637@Slf4j
3738@Component
3839public class MyMetaObjectHandler implements MetaObjectHandler {
3940
4041 @Override
4142 public void insertFill (MetaObject metaObject ) {
4243 log. info(" 开始插入填充..." );
44+ this . strictInsertFill(metaObject, " createUserId" , Long . class, 123456L )
4345 this . strictInsertFill(metaObject, " createTime" , LocalDateTime . class, LocalDateTime . now());
4446 }
4547
4648 @Override
4749 public void updateFill (MetaObject metaObject ) {
4850 log. info(" 开始更新填充..." );
51+ this . strictInsertFill(metaObject, " updateUserId" , Long . class, 123456L )
4952 this . strictUpdateFill(metaObject, " updateTime" , LocalDateTime . class, LocalDateTime . now());
5053 }
5154}
5255```
56+ ``` kotlin
57+ // kotlin example
58+ @Slf4j
59+ @Component
60+ class MyMetaObjectHandler : MetaObjectHandler {
61+
62+ // 注意将kotlin类型转为java类型请使用 xxx::class.javaObjectType,防止部分类型使用xxx::class.java转换为基本类型导致类型不一致无法填充
63+ override fun insertFill (metaObject : MetaObject ) {
64+ log.info(" 开始插入填充..." );
65+ this .strictInsertFill(metaObject, " createUserId" , Long ::class .javaObjectType, 123456L )
66+ this .strictInsertFill(metaObject, " createTime" , LocalDateTime ::class .javaObjectType, LocalDateTime .now())
67+ }
5368
69+ override fun updateFill (metaObject : MetaObject ) {
70+ log.info(" 开始更新填充..." );
71+ this .strictInsertFill(metaObject, " updateUserId" , Long ::class .javaObjectType, 123456L )
72+ this .strictInsertFill(metaObject, " updateTime" , LocalDateTime ::class .javaObjectType, LocalDateTime .now())
73+ }
74+
75+ }
76+ ```
5477### 3. 配置自动填充处理器
5578
5679确保你的 ` MyMetaObjectHandler ` 类被 Spring 管理,可以通过 ` @Component ` 或 ` @Bean ` 注解来实现。
0 commit comments