File tree Expand file tree Collapse file tree 1 file changed +69
-1
lines changed Expand file tree Collapse file tree 1 file changed +69
-1
lines changed Original file line number Diff line number Diff line change 1- # 自动填充功能
1+ # 自动填充功能
2+
3+ 示例工程:
4+
5+ 👉 [ mybatis-plus-sample-auto-fill-metainfo] ( https://gitee.com/baomidou/mybatis-plus-samples/tree/master/mybatis-plus-sample-auto-fill-metainfo )
6+
7+
8+ - 实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
9+
10+ - 注解填充字段 ` @TableField(.. fill = FieldFill.INSERT) ` 生成器策略部分也可以配置!
11+
12+ ``` java
13+ public class User {
14+
15+ // 注意!这里需要标记为填充字段
16+ @TableField (.. fill = FieldFill . INSERT )
17+ private String fillField;
18+
19+ ....
20+ }
21+ ```
22+
23+
24+ - 自定义实现类 MyMetaObjectHandler
25+
26+ ``` java
27+ @Component
28+ public class MyMetaObjectHandler implements MetaObjectHandler {
29+
30+ private static final Logger LOGGER = LoggerFactory . getLogger(MyMetaObjectHandler . class);
31+
32+ @Override
33+ public void insertFill (MetaObject metaObject ) {
34+ LOGGER . info(" start insert fill ...." );
35+ metaObject. setValue(" operator" ," Jerry" );
36+ }
37+
38+ @Override
39+ public void updateFill (MetaObject metaObject ) {
40+ LOGGER . info(" start update fill ...." );
41+ this . setFieldValByName(" operator" ," Tom" ,metaObject);
42+ }
43+ }
44+ ```
45+ :::warning 注意事项:
46+ - 字段必须声明` TableField ` 注解,属性` fill ` 选择对应策略,该申明告知 ` Mybatis-Plus ` 需要预留注入 ` SQL ` 字段
47+ - 填充处理器` MyMetaObjectHandler ` 在 Spring Boot 中需要声明` @Component ` 注入
48+ :::
49+
50+ ``` java
51+ public enum FieldFill {
52+ /**
53+ * 默认不处理
54+ */
55+ DEFAULT ,
56+ /**
57+ * 插入填充字段
58+ */
59+ INSERT ,
60+ /**
61+ * 更新填充字段
62+ */
63+ UPDATE ,
64+ /**
65+ * 插入和更新填充字段
66+ */
67+ INSERT_UPDATE
68+ }
69+ ```
You can’t perform that action at this time.
0 commit comments