mysql id生成器自定义_MybatisPlus使用自定义Id生成器数据自动填充
使用自定义ID生成器实现IdentifierGenerator接口@Component
public class CustomerIdGenerator implements IdentifierGenerator {
@Override
public Number nextId(Object entity) {
// 填充自己的Id生成器,
return HolaSms.snowFlake();
}
}实体类或者配置文件中指定id填充方式配置文件mybatis-plus:
global-config:
db-config:
id-type: assign_id实体类@TableId(type = IdType.ASSIGN_ID)
private Long id;这两种方式任意选择其中一种即可,如果同时配置,会以实体类为准。
如果你的代码中手动设置了id,会以你手动设置的为准。
字段填充我们创建的表一般会有create_user,update_user这样的字段,跟实际的业务没有太大关系,这时候,我们可以提前指定字段的填充方式,我们就不用关心这些字段的值的问题了。编写填充方式,实现MetaObjectHandler接口
这个接口提供了两个方法,一个是插入的时候填充,一个是更新的时候填充。
我们调用填充的方法参数分别是:1. 实体对象,我们直接抄下来即可
2. 需要填充的字段名称
3. 需要填充的字段类型
4. 填充的值@Component
public class DataAutoFill implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createUser", String.class, HolaSms.currentUser());
this.strictInsertFill(metaObject, "updateUser", String.class, HolaSms.currentUser());
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "updateUser", String.class, HolaSms.currentUser());
}
}在需要填充的字段标注@TableField注解,并指定填充时机。/**
* 更新人
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateUser;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private String createUser;
mysql id生成器自定义_MybatisPlus使用自定义Id生成器数据自动填充相关推荐
- 物流、快递自定义打印标签、自定义标签解决方案
公司需要自定义标签,简单的来说就是自己画标签模板,数据自动填充.废话不多说,直接演示方案 第一步:安装软件:迅捷PDF编辑器 第二步:画自定义标签 第三步:将标签放入服务器指定位置 第四步:调用接口填 ...
- Nacos自定义扩展的 Data Id 配置
Spring Cloud Alibaba Nacos Config可支持自定义 Data Id 的配置. 一个完整的配置案例如下所示: 下边我们在service2微服务下配置扩展. spring:ap ...
- MySQL分库分表使用Snowflake全局ID生成器(3rd)
前言 由于考虑到以后要动态切分数据,防止将不同表切分数据到同一个表中时出现主键相等的冲突情况,这里我们使用一个全局ID生存器.重要的是他是自增的. 这边我使用Snowflake的python实现版(p ...
- jqgrid 加载mysql数据_利用jqgrid+加mysql的text类型实现简单自定义数据模型
有的时候,我们做东西可能速度和安全在前期并不是我们考虑的重点,数据的灵活性可能对于一个不成熟的系统更加重要,这里我使用thinkphp+mysql+jqgrid做了一个简单的自定义数据模型.简单总结一 ...
- mysql自定义函数 PHP_MySQL自定义函数(CREATE FUNCTION)
在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...
- mysql 获取 row的id_转: MYSQL获取更新行的主键ID
在某些情况下我们需要向数据表中更新一条记录的状态,然后再把它取出来,但这时如果你在更新前并没有一个确认惟一记录的主键就没有办法知道哪条记录被更新了. 举例说明下: 有一个发放新手卡的程序,设计数据库时 ...
- mysql查询每个id的前10条数据_解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据...
我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能, 对应后端就是分页拉取数据. 好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的 ...
- hibernate 复合主键 根据主键删除_Python 之 MySql“未解之谜”11--主键 id 那些事
主键 id 用自增和 uuid 有什么区别? ● uuid 有 16 个字节,比 int(4 byte)和 bigint(8 byte)占用更多存储空间 有大量数据的时候 uuid 主键不会像自增主键 ...
- mysql sum id 5_mysql怎么使用sum()求id字段的和?
mysql使用sum()求id字段的和的方法:利用"SELECT SUM(id) FROM 数据表名;"来求id字段的和,返回id字段值的总和:SUM()函数在计算时,忽略列值为N ...
最新文章
- 【割边缩点】解题报告:POJ - 3694 - Network(Tarjan割边缩点 + LCA + 并查集优化)
- ubuntu10.04 的服务管理变动
- html暗边框属性,HTML表格标记教程(30):单元格的暗边框色属性BORDERCOLORDARK
- 【考研保研直通车】C9高校考研真题
- [云炬创业学笔记]第一章创业是什么测试12
- C指针原理(20)-C指针基础
- 【数据结构与算法】之深入解析“石子游戏”的求解思路与算法示例
- 机器学习在客户管理场景中的应用
- 3_less混和(使用类来混合)
- Ignite与Spark内存计算平台对比分析
- 修改服务器的AJP监听地址,实习记录(五) - AJP协议文件读取漏洞
- 如何为自己找到合适的销售工作?
- CPU cache侧信道攻击
- 《编程之美》中买书问题算法。空间复杂度O(n),时间复杂度O(n),求挑战
- DM13: COSCon19私人回顾
- 台式电脑经常碰到的一些问题
- Linux系统vscode断点单步运行调试C++程序
- 利用百度云API接口上传照片进行植物识别
- 打造淘宝极简包的轻量化框架
- Linux C++ 服务器端这条线怎么走?一年半能做出什么?