Java重置Mysql主键自增长值
MySql 主键自增重置器(统一处理多个表)
resetAutoincrement
是一款基于Java
开发的程序,其功能为重置mysql
数据库表的主键自增的值为最近的一个。
介绍
开发背景主要是工作中,测试同学在清理数据的时候,使用的是 DELETE
进行删库(其实可以使用 TRUNCATE
),删库完毕后会造成主键自增的值并没有归0,而是继续计算下去(如:数据库新插入一条数据,id
为 483
,但是我期望的是从 1
开始),作为有点略微强迫症的小开发,我就在思考能否写一个程序来重置 Mysql
的 auto_increment
值,于是乎写了这个 Java 程序。
项目地址
github地址
:https://github.com/chimmhuang/resetAutoincrement码云地址
:https://gitee.com/chimmhuang/resetAutoincrement
环境说明
JDK
:1.8
MySql
:5.7
程序演示
视频网站 | 地址 |
---|---|
哔哩哔哩 | https://www.bilibili.com/video/av84268614 |
Youtube | https://youtu.be/cd724k13Z5I |
目录结构
.
├── actuator 该目录下存放执行器接口及其实现类,整个程序的核心实现
├── config 数据库链接的配置信息存放于此,也可以使用properties配置文件替换
├── exception 异常类存放于此
├── pojo 实体类存放于此
├── run 整个程序的启动目录,执行`main`即可启动程序
└── validation 该目录下存放校验类的信息,目前只写了一个校验数据库连接配置信息的类
使用说明
- 本人测试的数据库demo sql语句
CREATE TABLE `demo` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='demo数据库';
CREATE TABLE `demo02` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`remarks` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='demo02数据库';
- 在
config
目录下配置好数据库的连接信息 - 在
run
目录下启动main
方法即可执行
联系作者
email
:chimmhuang@163.com
QQ
:905369866