本节案例承接上节案例
文章目录
- 1. 自动填充功能
- 1.1 添加@TableField注解
- 1.2 编写MyMetaObjectHandler
- 1.3 把MyMetaObjectHandler放入SpringIOC容器
- 1.4 测试
1. 自动填充功能
有些时候我们可能会有这样的需求,插入或者更新数据时,希望有些字段可以自动填充数据,比如password
、version
等。在Mybatis-Plus
中提供了这样的功能,可以实现自动填充。
1.1 添加@TableField注解
为password
添加自动填充功能,在新增数据时有效。
FieldFill提供了多种模式选择:
1.2 编写MyMetaObjectHandler
MyMetaObjectHandler.java
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33package com.tian.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; public class MyMetaObjectHandler implements MetaObjectHandler { /** * 插入数据时填充 * * @param metaObject */ @Override public void insertFill(MetaObject metaObject) { // 先获取到password的值,再进行判断,如果为空,就进行填充,如果不为空,就不做处理 Object password = getFieldValByName("password", metaObject); if (null == password) { //字段为空,可以进行填充 setFieldValByName("password", "888888", metaObject); } } /** * 更新数据时填充 * * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { } }
1.3 把MyMetaObjectHandler放入SpringIOC容器
MybatisPlusConfig.java
复制代码
1
2
3
4
5@Bean public MyMetaObjectHandler myMetaObjectHandler() { return new MyMetaObjectHandler(); }
1.4 测试
SpringbootMybatisplusApplicationTests.java
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28package com.tian.springbootmybatisplus; import com.tian.mapper.UserMapper; import com.tian.pojo.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class SpringbootMybatisplusApplicationTests { @Autowired private UserMapper userMapper; @Test public void testInsert() { User user = new User(); user.setName("关羽"); user.setUserName("guanyu"); user.setAge(30); user.setEmail("guanyu@itast.cn"); user.setVersion(1); int result = this.userMapper.insert(user); System.out.println("result = " + result); } }
运行结果:
生成的sql
为:select * from tb_user
最后
以上就是快乐小海豚最近收集整理的关于Mybatis-Plus:自动填充功能 @TableField1. 自动填充功能的全部内容,更多相关Mybatis-Plus:自动填充功能内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复