如果你还在为数据库表造数烦恼?如果你还在造数上花费一天、一周、甚至更多的时间……也许Mocker(模客)能帮你排忧解难。
造数是一件令人头疼、繁琐而又无趣的事情,但有些时候它又是开发过程中不可避免的一个阶段。
我们常用的造数方法
少量数据也许可以通过人工手动一行一行造稍微多一点要做个excel工具进行数据模拟并导入数据量再大一点可能就得写脚本(如python等)来造数以上这些方式一般来说都需要一定的时间成本投入,为了杜绝这种不必要的开发时间成本浪费,Mocker因此而生。
Mocker本着你写逻辑我造数原则服务于你的造数需求,百万级别数据量造数不再需要一天、一周甚至更多的时间,Mocker只需要10分钟甚至更少。
待模拟数据表结构登录后复制 CREATE TABLE `mk_user` ( `id` bigint(18) NOT NULL AUTO_INCREMENT COMMENT '主键自增长', `user_name` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '账户名称', `password` varchar(55) DEFAULT NULL COMMENT '账户密码', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;1.2.3.4.5.6.
引入maven依赖登录后复制
Mocker配置文件登录后复制 # 数据库配置driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/mockdb?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername=rootpassword=root1.2.3.4.5.Mocker配置文件路径: resources/mocker.properties
执行字段值生成处理类生成程序登录后复制 public class MockerApp { public static void main(String[] args) { // 生成表字段值生成处理类 DataMockStarter.generate("/home/jaemon/mocker"); }}1.2.3.4.5.6.7.运行程序,在/home/jaemon/mocker路径下会生成 MockdbColumnHandlerEnum枚举类文件,文件内容如下
登录后复制 public enum MockdbColumnHandlerEnum implements TableColumnsHandler { // mk_user-账户名称-varchar(55) USER_NAME { @Override public String generate(String tableName, Map
登录后复制 public enum MockdbColumnHandlerEnum implements TableColumnsHandler { // mk_user-账户名称-varchar(55) USER_NAME { @Override public String generate(String tableName, Map
执行数据模拟程序登录后复制 public class MockerApp { public static void main(String[] args) { // 模拟数据库表数据生成 DataMockStarter.mock(MockdbColumnHandlerEnum.class); }}1.2.3.4.5.6.7.
源码地址 Mocker Gitee