# faker-plus
**Repository Path**: springtax/faker-plus
## Basic Information
- **Project Name**: faker-plus
- **Description**: Faker-Plus 🚀是一款使用Java语言编写的数据库伪数据生成工具,通过在Web页面进行简单配置,无需编写代码即可在数据库中快速生成各种类型的伪数据。
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2023-09-21
- **Last Updated**: 2023-09-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[English ](README.en-US.md)|[ 简体中文](README.md)
Faker-Plus 🚀是一款使用Java语言编写的数据库伪数据生成工具,通过在Web页面进行简单配置,
无需编写代码即可在数据库中快速生成各种类型的测试数据。
## 🚩 开发状态
#### 项目正在开发中,未完成。
## 💌 开发初心
我是一名Java技术栈的程序员,在后端开发中,完成单个功能模块的开发,往往需要在数据库中临时制造一些测试数据,从而测试程序运行结果是否符合预期。
在过去的很长的一段时间内,我通常是在Excel表格中借助Excel的函数去制造数据,效率是极其低下的。
经过大量的查询搜索,了解到一家来自墨尔本的DiUS公司在ruby's faker的基础上开发了Java Faker,
从而可以在Java程序中生成各种类型的伪数据。
然而,Java Faker为了在更多场景下使用,要想将数据保存到数据库,不仅需要编写大量的Java代码,还需要编写基本SQL插入语句。
当然这里不得不提的是,如果对生成的测试数据要求不高的话,完全可以使用Navicat的数据生成功能,根据数据类型直接生成,
但是截止到我决定开发Faker-Plus,Navicat只能根据数据类型生成符合字段类型的简单数据,没有多表关联生成数据的功能,
比如生成订单表与订单详情表的测试数据,订单详情表中关联了订单表的主键ID,如果仅仅是单表生成数据,生成的数据并不能实现外键关联。
最终,决定,开发一款伪数据生成工具,它应当拥有Web可视化界面、可以直接连接数据源、可以选择多个表结构、多个表结构可以配置外键关联、提供多样的伪数据类别、可以自动持久化入库。
## 🗄️ 数据库支持
Faker-Plus支持多种常见的关系型数据库,包括MySQL、Oracle、SQL Server等,可以直接将生成的伪数据插入到数据库表中。
## 💿 多样化伪数据类别
Faker-Plus支持生成各种常见的数据类型,包括不同国家的人名、地址、动物名称、颜色、时间日期、电话号码等,并且支持在嵌入型数据库中添加数据进行扩展。
## 🔨 多表关联
开发人员可以通过配置多个数据库表之间的关联关系,实现复杂的数据生成逻辑,例如生成订单及其相关的订单详情数据,一次性生成。
## 🔑 快速开始
### 第一步:部署启动应用
下载Faker-Plus的压缩包,并根据文档指引完成部署工作,运行Faker-Plus应用程序,确保应用成功启动并监听指定端口。
### 第二步:访问Web页面:
在浏览器中输入应用的URL地址,并进入Faker-Plus的Web页面。
### 第三步:配置数据源:
在Web页面中配置目标数据源的连接信息,包括数据库类型、地址、用户名、密码等。保存配置后,Faker-Plus会自动与数据源建立连接。
### 第四步:选择数据源表配置生成规则:
在Web页面中选择要生成伪数据的数据源表,并配置生成规则。开发人员可以选择字段类型、数据范围、数据格式等进行自定义配置。
### 第五步:开始生成:
点击生成按钮,Faker-Plus将根据配置的规则生成指定数量的伪数据,并将其插入到数据源表中。
生成过程完成后,可以在Web页面上查看生成结果的摘要信息,包括生成数量、执行时间等。
## 📧 作者邮箱:UniGood@163.com