6 Star 18 Fork 10

sprouting/dataTool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

测试数据生成工具

由于工作中经常会需要构建一些测试数据,而测试数据的准备又往往比较麻烦,随机造总是很麻烦,而且老是写重复代码,所以就有了这个工具包,可以快速的构建生成一些测试数据,测试数据的基准是贴近现实,看起来像那么一回事。

==与其他类似的工具最大的区别在于,很多数据考虑到真实性,并且相关的数据都有关联性,比如身份证、学校等等。==

详细说明文件请参考 数据构造器工具说明.md

(因为本地有太多的 README.md 文件,而我使用的编辑工具又是 typora,导致我想写文档的时候总是要多做好多操作,使用工具搜索文件每次找出一堆,所以就将md文件起一个别的名字,方便快速定位文档,然后想怎么写就怎么写了,但页面就需要点击一下跳转到文档页面了。)

说明:本工具依赖 hutool 和 lombok ,注意依赖冲突。

提供的数据工具

  • 随机生成地区、包括省市县街道房间
  • 银行卡
  • 出版社
  • ISBN号
  • 公司名称、公司部门
  • 学历
  • 邮箱
  • 基金、股票信息
  • 身份证
  • 车牌,包括新能源车牌
  • 经纬度
  • 医院名称、疾病名称、西药名称、中药名称
  • 真实姓名、虚拟姓名、昵称,英文名称
  • 网络URL,IPv4、IPv6、mac地址、端口、QQ号
  • 强密码生成
  • 小学名称、中学名称、985(真实)、211大学(真实)、班级
  • 移动、联通、电信手机、固话
  • 汉字随机生成
  • 统一信用代码、真实统一信用代码
  • 民族

命名说明

引用的API命名统一为 RandomXXXTool 。所有的生成工具都在 cn.sprouting.tool 目录下面。

所有的接口都是 get 开头。

省市县说明

API中提供了很多指定生成省市县的接口,这类如果没做特别说明,那么需要你在普通的省市县行政区划代码中添加0进行补充,因为我使用的行政区划到了街道级别,长度为 12 位。省市县代码可以参考 resources 下的 area.txt 文件。

其他说明

这里非常感谢 hutool 工具类,如果有其他的随机需要,huTool 中的RandomUtils工具类值得拥有。

官方链接:https://www.hutool.cn/

[部分] API 说明

地址生成

地址信息,往往并不是一个简单的字符串,地址中常见的包含省、市、区县以及详细的街道、具体住址信息,另外,大家还可能常用到省市区县的代码。

我这一份数据采集自 2020 年国家统计局信息,数据包含省市县以及街道信息,但实际使用中,大家一般不会使用到街道,因为街道太容易发生变动了,而我返回的省市区县代码也包含了街道级别,需要使用者自己进行截取。

使用示例:

Area area = RandomAreaTool.getArea();
System.out.println(area);

返回结果:

Area(province=江西省, provinceCode=360000000000, city=吉安市, cityCode=360800000000, county=永新县, countyCode=360830000000, street=三月坪街道, streetCode=360830001000, specific=长向东龙腾轩17栋2单元1103房, addressDetail=江西省吉安市永新县三月坪街道长向东龙腾轩17栋2单元1103房)

支持批量生成,以及指定省市县。

List<String> provinceCodeList = new ArrayList<>();
provinceCodeList.add("510000000000");
provinceCodeList.add("610000000000");
List<String> cityCodeList = new ArrayList<>();
cityCodeList.add("610200000000");
cityCodeList.add("610100000000");
cityCodeList.add("510100000000");
cityCodeList.add("510300000000");
List<Area> list = RandomAreaTool.getArea(10, provinceCodeList, cityCodeList, null);
System.out.println(list);

结果:

[Area(province=陕西省, provinceCode=610000000000, city=西安市, cityCode=610100000000, county=碑林区, countyCode=610103000000, street=柏树林街道, streetCode=610103002000, specific=荣沙西光华新天地18栋3单元0603房, addressDetail=陕西省西安市碑林区柏树林街道荣沙西光华新天地18栋3单元0603房), Area(province=陕西省, provinceCode=610000000000, city=西安市, cityCode=610100000000, county=长安区, countyCode=610116000000, street=五星街道, streetCode=610116021000, specific=百泽中东山名苑7栋4单元2604房, addressDetail=陕西省西安市长安区五星街道百泽中东山名苑7栋4单元2604房), Area(province=四川省, provinceCode=510000000000, city=成都市, cityCode=510100000000, county=简阳市, countyCode=510185000000, street=踏水镇, streetCode=510185119000, specific=仁北北阳光嘉苑2栋4单元2602房, addressDetail=四川省成都市简阳市踏水镇仁北北阳光嘉苑2栋4单元2602房), Area(province=四川省, provinceCode=510000000000, city=成都市, cityCode=510100000000, county=青羊区, countyCode=510105000000, street=光华街道, streetCode=510105009000, specific=荣瑞西时代悦府7栋1单元2702房, addressDetail=四川省成都市青羊区光华街道荣瑞西时代悦府7栋1单元2702房), Area(province=四川省, provinceCode=510000000000, city=自贡市, cityCode=510300000000, county=大安区, countyCode=510304000000, street=凤凰街道, streetCode=510304006000, specific=仁天北万象轩10栋3单元2602房, addressDetail=四川省自贡市大安区凤凰街道仁天北万象轩10栋3单元2602房)]

银行卡

银行卡的生成只能说基本符合规范,实际上,每个银行有每个银行的规则,虽然基本都符合中国银联的标准,但实际中还有一些老的银行卡,根本无法通过校验,规则也是五花八门,如果真要获取真实的银行卡,该工具类是无法达到要求的。该工具类只能说是一个符合相应规律,但并非真实的银行卡。

银行卡的返回信息同样也是一个对象,对象中包含完整的银行卡(随机生成的假银行卡号码)、发卡行名称、卡种类型、银行卡类型,MII(产业标识符)等信息。

示例:

BankCard bank = RandomBankCardTool.getBank();
System.out.println(bank);

结果:

BankCard(card=62213592702176702556, issuer=成都商业银行, name=锦程卡, type=null, typeName=借记卡, iin=622135, mii=6, miiName=商业和金融财务, checkLuhm=false)

支持批量,支持指定银行

List<String> list = new ArrayList<>();
list.add("中国银行");
list.add("中国银行");

List<BankCard> bank = RandomBankCardTool.getBank(list, 3);
System.out.println(bank);

结果:

[BankCard(card=54764899938916855, issuer=中国银行, name=长城国际卡(港币卡)-商务普卡, type=null, typeName=贷记卡, iin=547648, mii=5, miiName=金融财务, checkLuhm=false), BankCard(card=60138260150132138756, issuer=中国银行, name=长城电子借记卡, type=null, typeName=借记卡, iin=601382, mii=6, miiName=商业和金融财务, checkLuhm=false), BankCard(card=62276219073246654, issuer=中国银行, name=长城信用卡, type=null, typeName=准贷记卡, iin=622762, mii=6, miiName=商业和金融财务, checkLuhm=false)]

企业

示例:

String companyName = RandomCompanyTool.getCompanyName(null);
System.out.println(companyName);
String hn = RandomCompanyTool.getCompanyName("湖南省");
System.out.println(hn);

结果:

秉典才谈文化传播股份有限公司
湖南省窝哟叶传媒股份有限公司

其中生成部门需要注意一点,部门的生成是根据字典来了,而普通的部门数量不够多,故而,随机生成部门的时候很有可能会重复。

List<String> depName = RandomCompanyTool.getDepName(2);
System.out.println(depName);

结果:

[企划部, 总务部]

股票基金

股票和基金的生成往往也需要一些其他辅助信息,比如股票对应的公司名称,A股代码,A股简称,上市时间,所在地点,数据来源截至2021年9月28日,内容为真实的A股上市公司数据。

示例:

List<ListedCompany> listedCompany = RandomFinancialTool.getListedCompany(3);
System.out.println(listedCompany);

结果:

[ListedCompany(name=浙江建业化工股份有限公司, code=603948, abbreviation=建业股份, timeToMarket=2020-3-2, city=浙江省杭州市), ListedCompany(name=海南葫芦娃药业集团股份有限公司, code=605199, abbreviation=葫芦娃, timeToMarket=2020-7-10, city=海南省海口市), ListedCompany(name=新疆鑫泰天然气股份有限公司, code=603393, abbreviation=新天然气, timeToMarket=2016-9-12, city=新疆维吾尔自治区乌鲁木齐市)]

基金的信息则返回比较少,只返回了基金名称和基金代码

List<Fund> fund = RandomFinancialTool.getFund(3);
System.out.println(fund);

结果:

[Fund(name=海富通沪深300指数增强C, code=004512), Fund(name=国寿安保沪深300ETF联接, code=000613), Fund(name=大摩领先优势混合, code=233006)]

身份证

身份证信息是数据中最重要的一个证件信息,而这个数据也往往不知需要一个简单的身份证号码,所以也会返回一个身份证对象,包含身份证号码、性别、生日、对应省市区县。

生成身份证支持指定出生年月,指定性别以及省。

不指定则使用默认的。

List<IdCard> idCard = RandomIDCardTool.getIDCard(1, null, null, null, null);
System.out.println(idCard);

结果:

[IdCard(cardNo=370203195809199672, sex=1, sexName=男, birthday=19580919, province=山东省, provinceCode=370000, city=青岛市, cityCode=370200, county=市北区, countyCode=370203)]

车牌

车牌的生成支持指定车牌前缀,一般如 晋、云、甘、湘等等。

// 简单生成
String licensePlate = RandomLicensePlateTool.getLicensePlate();
System.out.println(licensePlate);

// 指定生成湖南的新能源车牌
String plate = RandomLicensePlateTool.getLicensePlate(true, "湘");
System.out.println(plate);

结果:

吉VD9089T
湘GD422E1

医疗

中药和西药的随机生成都是采用字典的模式,故而有数量限制,在获取的时候建议批量获取。同样可以指定省市县。

// 医院名称
List<String> hospitalName = RandomMedicineTool.getHospitalName(1, null, null, null);
System.out.println(hospitalName);

// 中药名称
List<String> chineseMedicineName = RandomMedicineTool.getChineseMedicineName(2);
System.out.println(chineseMedicineName);

// 病症名称
List<String> disease = RandomMedicineTool.getDisease(3);
System.out.println(disease);

// 西药
List<String> westernMedicineName = RandomMedicineTool.getWesternMedicineName(2);
System.out.println(westernMedicineName);

结果:

[苏州市武警医院]
[川椒, 商陆]
[子宫阴道不完全性脱垂, 先天性双侧腭裂, 产褥期深静脉血栓形成]
[阿伐斯汀(抗组胺药), 阿度西林(抗生素类药)]

姓名

示例:

// 姓名
List<String> name = RandomNameTool.getName(3, Constant.Sex.FEMALE);
// 真实姓名
List<User> realName = RandomNameTool.getRealName(3, Constant.SexInteger.FEMALE);
List<User> realNameMale = RandomNameTool.getRealName(3, Constant.SexInteger.MALE);
// 中文昵称
String chineseNickName = RandomNameTool.getChineseNickName(3, 5);
// 生成男孩名称
String nameBoy = RandomNameTool.getNameBoy();
List<String> nameEnglish = RandomNameTool.getNameEnglish(3);

System.out.println(name);
System.out.println(realName);
System.out.println(realNameMale);
System.out.println(chineseNickName);
System.out.println(nameBoy);
System.out.println(nameEnglish);

结果

[贾慧, 阎萍, 谭琦丹]
[User(name=杨君, sex=0), User(name=王海潮, sex=0), User(name=刘扬凡, sex=0)]
[User(name=李桂漫, sex=1), User(name=袁泺添, sex=1), User(name=廖增智, sex=1)]
菊凡娥梅
何浩刚
[Ishara, Nathaniel, Sidney]

需要说明的是,选择生成真实姓名的时候,该方式采用的也是字典模式,好处是生成的名字都是真实存在的,缺点是会读取字典文件,大约有2W个,故而,应该批量获取。

学校

学校生成采用的同样是字典模式,主要提供了大学、小学、中学、班级、年级的信息生成。除了大学,其他未采用字典模式,请注意。

大学分两类,一类是普通高等大学,还有一类是成人高等大学,这两类数据都是根据2019年教育部名单生成,除了提供学校的名称,还提供了学校标识码,全国有且唯一的编号,教育部统编,主管部门,所在省或直辖市名称、学校所在地、办学层次、是否民办等信息。

// 小学
// 可以指定学校的省市县,也可以不指定,直接调用其他方法
List<String> primarySchoolName = RandomSchoolTool.getPrimarySchoolName(3, null, null, null);
System.out.println(primarySchoolName);

// 中学名称
String middleSchoolName = RandomSchoolTool.getMiddleSchoolName();
System.out.println(middleSchoolName);

// 成人高等学校
List<University> adultCollegesAndUniversities = RandomSchoolTool.getAdultCollegesAndUniversities(3);
System.out.println(adultCollegesAndUniversities);

// 普通高校
List<University> collegesAndUniversities = RandomSchoolTool.getCollegesAndUniversities(3);
System.out.println(collegesAndUniversities);

结果:

[霍城县第二小学, 扶绥县第一小学, 蒙自市第二小学]
朔城区第四中学
[University(name=浙江经济管理职工大学, code=4233051259, competentDep=浙江省, province=浙江省, location=null, layer=null, civilianRun=false), University(name=黑龙江省社会科学院职工大学, code=4223051745, competentDep=黑龙江省, province=黑龙江省, location=null, layer=null, civilianRun=false), University(name=贵州铝厂职工大学, code=4252050962, competentDep=贵州省, province=贵州省, location=null, layer=null, civilianRun=false)]
[University(name=成都农业科技职业学院, code=4151012965, competentDep=四川省, province=四川省, location=成都市, layer=专科, civilianRun=false), University(name=河西学院, code=4162010740, competentDep=甘肃省, province=甘肃省, location=张掖市, layer=本科, civilianRun=false), University(name=陕西旅游烹饪职业学院, code=4161014031, competentDep=陕西省教育厅, province=陕西省, location=西安市, layer=专科, civilianRun=true)]

统一社会信用代码

统一社会信用代码是现在基本大部分的社会组织都拥有的一个标识,维基上也可以查询到组成方式。

组成方式: 登记部门码 + 机构类别码 + 登记管理机关行政区划码 + 主体标识码(组织机构代码) + 校验码
    登记管理部门码表示登记管理部分,使用阿拉伯数字或大写英文字母表示,1代表机构编制、5代表民政、9代表工商、Y代表其他。
    机构类别码表示登记机构的类别。机构类别代码。“1”表示社会团体、“2”表示民办非企业单位、“3”表示基金会、“9”表示其他
    登记管理机关行政区划码指的是登记机构所地的行政区划代码,如350100是福建省福州市。
    主体标识码(组织机构代码)是旧的组织机构代码,按照GB 11714编码。
    最后一位是校验码,校验码计算方法参照GB/T 17710(采ISO 7064)。

然而虽然有比较多的资料,但生成一个统一信用代码并不是那么简单,主要在主体识别码的生成,这一块是有很多标识信息的,实在无法完整的查询到,另外,还有一些早期的组织信息,作为试点生成的代码也不符合规范,最后,在这一块代码生成上,我采用了两种方案,一种是字典,采集自国家企业信用公示系统,这一块的数据都是真实存在,有的企业已经注销,但还有在存续状态的,需要说明的是,统一社会信用代码与企业的注册地、企业类型,注册机构等等都有密切关系,和省份之类的也有联系,在使用的时候需要注意到这一点,真实统一社会信用代码请勿用于非法用途,无意中采集到您的统一社会信用代码,请联系我进行处理。

// 虚假但基本符合规则的统一社会信用代码
List<String> unifiedCreditCode = RandomUnifiedCreditCodeTool.getUnifiedCreditCode(3, null);
System.out.println(unifiedCreditCode);

// 真实
List<String> realUnifiedCreditCode = RandomUnifiedCreditCodeTool.getRealUnifiedCreditCode(3);
System.out.println(realUnifiedCreditCode);

结果:

[91330523M1D7CD7CG3, 91411721M3NRR2XGI1, 91420325M8QIDYZ4C2]
[92520121MA6HUF9X5Y, 92440300MA5FPR7A6F, 91410225MA474C5W9W]
木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

一个用于生成各种测试数据,方便快速生成的工具 展开 收起
Java
MulanPSL-2.0
取消

发行版 (1)

全部

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/sprouting/data-tool.git
git@gitee.com:sprouting/data-tool.git
sprouting
data-tool
dataTool
master

搜索帮助