Java自动生成数据
最近在造数据库中的表数据,写了些数据生成类
可以随机生成姓名、性别,民族,出生日期,身份证号,手机号,邮箱,身高,文化程度,地址,单位,日期时间,编码等
package com.util.createdata; import java.util.Date;
import java.util.Random;
import java.util.UUID; /**
* 随机生成姓名、性别,民族,出生日期,身份证号,手机号,邮箱,身高,文化程度,地址,单位,时间,编码等
*/
public class CreateData {
public static void main(String[] args) {
//初始化
int N = 1000; //生成数目
Random random = new Random();
GrxxUtil grxx = new GrxxUtil();
TimeUtil time = new TimeUtil();
BmUtil bm = new BmUtil();
RandomNum randomnum = new RandomNum();
String fg = "', '";
int bm_len = "201398".length();
for (int i = 0; i < N; i++) {
String[] xmTmp = grxx.getName().split(",");
String xm = xmTmp[1];//姓名
String xb = xmTmp[0];//性别 1、2
String mz = grxx.getDm(56); //民族 01-56
String[] sfzTmp = grxx.getSfzxx("3502", "1966-1-1", "1990-12-31").split(",");
String sr = sfzTmp[0]; //出生日期
String sfzh = sfzTmp[1]; //身份证号
String hm = grxx.getTel(); //手机号
String ys = grxx.getEmail(6, 18); //邮箱
String sg = String.valueOf(randomnum.getNum(150, 195)); //身高 150-195
String wh = grxx.getDm(90); //文化程度 01-90
String pcs = grxx.getPcs(); //派出所
String xzqbm = grxx.getXzqbm(); //行政区编码
String hjbm = "350203"; //户籍所在地
String zy = grxx.getDm(99); //职业代码 01-99
String dz = grxx.getRoad(); //地址
String dw = grxx.getDw(); //单位
String uuid = UUID.randomUUID().toString().replace("-", "");
Date date = time.randomDate("2018-1-1", "2018-12-31"); //指定范围日期
Date date_after = time.getDayAfter(date, 2); //指定日期后n天
String sj = time.formaTime(date, "yyyy-MM-dd"); // 指定格式时间
//String sjc = String.valueOf(time.timeToStam(sj)); //时间戳
String bh = bm.getBm("", bm_len, 9); //编号开头,编号长度,编号数字取值范围 System.out.println(sfzh);
//System.out.println(sj + "T" + sj1 + ".000Z");
//System.out.println("'" + (random.nextInt(2) + 1) + "', ''"); //性别
}
}
}
package com.util.createdata; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class TimeUtil {
/**
* 格式化时间
*
* @param date
* @param format
* @return
*/
public String formaTime(Date date, String format) {
return new SimpleDateFormat(format).format(date);
} /**
* 生成指定日期范围的随机时间
*
* @param beginDate
* @param endDate
* @return
*/
public Date randomDate(String beginDate, String endDate) {
RandomNum random = new RandomNum();
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date start = format.parse(beginDate);
Date end = format.parse(endDate); if (start.getTime() >= end.getTime()) {
return null;
}
long date = random.getNum(start.getTime(), end.getTime());
return new Date(date);
} catch (Exception e) {
e.printStackTrace();
}
return null;
} /**
* 时间转换时间戳
*
* @param timers
* @return 时间戳
*/
public long timeToStam(String timers) {
Date d = new Date();
long timeStemp = 0;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
d = sdf.parse(timers);
} catch (ParseException e) {
e.printStackTrace();
}
timeStemp = d.getTime();
return timeStemp;
} /**
* 获得指定日期的前一天
*
* @param specifiedDay
* @return
* @throws Exception
*/
private static String getSpecifiedDayBefore(String specifiedDay) {
Calendar c = Calendar.getInstance();
Date date = null;
try {
date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day - 1); String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayBefore;
} /**
* 获得指定日期的后n天
*/
public Date getDayAfter(Date date, int n) {
Calendar c = Calendar.getInstance();
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day + n);
return c.getTime();
}
}
package com.util.createdata; import java.util.Random; public class BmUtil {
/**
* @param start 编号开头
* @param len 编号长度
* @param N 编号数字范围
* @return 编码
*/
public String getBm(String start, int len, int N) {
Random random = new Random();
String bmTmp = start;
int l = len - start.length() + 1;
for (int j = 1; j < l; j++) {
bmTmp = bmTmp + random.nextInt(N);
}
return bmTmp;
}
}
package com.util.createdata; import java.util.*; /**
* 随机生成中文姓名,性别,Email,手机号,住址
*
* @author
*/
public class GrxxUtil {
public static String base = "abcdefghijklmnopqrstuvwxyz0123456789";
//姓
private static String firstName = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯咎管卢莫经房裘缪干解应宗宣丁贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄魏加封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘姜詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲台从鄂索咸籍赖卓蔺屠蒙池乔阴郁胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍却璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎戈廖庚终暨居衡步都耿满弘匡国文寇广禄阙东殴殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾毋沙乜养鞠须丰巢关蒯相查后江红游竺权逯盖益桓公万俟司马上官欧阳夏侯诸葛闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳淳于仲孙太叔申屠公孙乐正轩辕令狐钟离闾丘长孙慕容鲜于宇文司徒司空亓官司寇仉督子车颛孙端木巫马公西漆雕乐正壤驷公良拓拔夹谷宰父谷粱晋楚阎法汝鄢涂钦段干百里东郭南门呼延归海羊舌微生岳帅缑亢况后有琴梁丘左丘东门西门商牟佘佴伯赏南宫墨哈谯笪年爱阳佟第五言福百家姓续";
//女孩名
private static String girl = "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽 ";
//男孩名
private static String boy = "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘";
//寓意好的字
private static String hz = "乐飞福皇嘉达佰美元致春帅亮名欧特辰康讯鹏腾澜津启博扬索蓝昂兴聚鸿略卡姬安众汇圣卓宇国普绿斯业媛意盛雄琛钧冠策毓楠榕伊铭齐风航弘义昭良纨彬富颜麒韬鸣朋斌行时泰娜磊民琴芳芯友志清坚庆若德彪宏芝萍霄伟刚勇毅俊峰强军平丽苑芸保东文辉力明玲健世彩朗郎旺融誉际巨骄为诚妙顺领迅英虹芬馨尼迈群拓建秋倩宸江雷天仪优聪垒蕾瀚玫琪淑骁永吉先君依昌哲营惠羽希舒曙廷渲梦瑜菏凤叶芃霭凝立玉静同颖宜林奇政冰影红尚川州帝悦情洁滋祥艳珊薰滟禾竹多帆秀贝仑青枫琰波笑宗雨涵纪亭甜禹垚园娟琳金新中加亚信华豪奥珠翠雅凯和鑫创宝星联晨百蔓莓曼尔海瑞科锦易威玛日柔淞渺伦道发唯一才月丹涟欢薇泽诗香鼎碧麦邦克凡利思滢萱盈泓品庭展朔轩育晓眉通骏振聆翌迎常浩益杰枝途丰壹智婷越岚超驰云淼蓓慧微菡资湘会菁萌语芊赫寒茗珂爽阳进臻燕霖霏爱灿蓉景馥筠露鹤荔厅湾菲可巧飘漪琬瑗";
//private static String[] road="重庆大厦,黑龙江路,十梅庵街,遵义路,湘潭街,瑞金广场,仙山街,仙山东路,仙山西大厦,白沙河路,赵红广场,机场路,民航街,长城南路,流亭立交桥,虹桥广场,长城大厦,礼阳路,风岗街,中川路,白塔广场,兴阳路,文阳街,绣城路,河城大厦,锦城广场,崇阳街,华城路,康城街,正阳路,和阳广场,中城路,江城大厦,顺城路,安城街,山城广场,春城街,国城路,泰城街,德阳路,明阳大厦,春阳路,艳阳街,秋阳路,硕阳街,青威高速,瑞阳街,丰海路,双元大厦,惜福镇街道,夏庄街道,古庙工业园,中山街,太平路,广西街,潍县广场,博山大厦,湖南路,济宁街,芝罘路,易州广场,荷泽四路,荷泽二街,荷泽一路,荷泽三大厦,观海二广场,广西支街,观海一路,济宁支街,莒县路,平度广场,明水路,蒙阴大厦,青岛路,湖北街,江宁广场,郯城街,天津路,保定街,安徽路,河北大厦,黄岛路,北京街,莘县路,济南街,宁阳广场,日照街,德县路,新泰大厦,荷泽路,山西广场,沂水路,肥城街,兰山路,四方街,平原广场,泗水大厦,浙江路,曲阜街,寿康路,河南广场,泰安路,大沽街,红山峡支路,西陵峡一大厦,台西纬一广场,台西纬四街,台西纬二路,西陵峡二街,西陵峡三路,台西纬三广场,台西纬五路,明月峡大厦,青铜峡路,台西二街,观音峡广场,瞿塘峡街,团岛二路,团岛一街,台西三路,台西一大厦,郓城南路,团岛三街,刘家峡路,西藏二街,西藏一广场,台西四街,三门峡路,城武支大厦,红山峡路,郓城北广场,龙羊峡路,西陵峡街,台西五路,团岛四街,石村广场,巫峡大厦,四川路,寿张街,嘉祥路,南村广场,范县路,西康街,云南路,巨野大厦,西江广场,鱼台街,单县路,定陶街,滕县路,钜野广场,观城路,汶上大厦,朝城路,滋阳街,邹县广场,濮县街,磁山路,汶水街,西藏路,城武大厦,团岛路,南阳街,广州路,东平街,枣庄广场,贵州街,费县路,南海大厦,登州路,文登广场,信号山支路,延安一街,信号山路,兴安支街,福山支广场,红岛支大厦,莱芜二路,吴县一街,金口三路,金口一广场,伏龙山路,鱼山支街,观象二路,吴县二大厦,莱芜一广场,金口二街,海阳路,龙口街,恒山路,鱼山广场,掖县路,福山大厦,红岛路,常州街,大学广场,龙华街,齐河路,莱阳街,黄县路,张店大厦,祚山路,苏州街,华山路,伏龙街,江苏广场,龙江街,王村路,琴屿大厦,齐东路,京山广场,龙山路,牟平街,延安三路,延吉街,南京广场,东海东大厦,银川西路,海口街,山东路,绍兴广场,芝泉路,东海中街,宁夏路,香港西大厦,隆德广场,扬州街,郧阳路,太平角一街,宁国二支路,太平角二广场,天台东一路,太平角三大厦,漳州路一路,漳州街二街,宁国一支广场,太平角六街,太平角四路,天台东二街,太平角五路,宁国三大厦,澳门三路,江西支街,澳门二路,宁国四街,大尧一广场,咸阳支街,洪泽湖路,吴兴二大厦,澄海三路,天台一广场,新湛二路,三明北街,新湛支路,湛山五街,泰州三广场,湛山四大厦,闽江三路,澳门四街,南海支路,吴兴三广场,三明南路,湛山二街,二轻新村镇,江南大厦,吴兴一广场,珠海二街,嘉峪关路,高邮湖街,湛山三路,澳门六广场,泰州二路,东海一大厦,天台二路,微山湖街,洞庭湖广场,珠海支街,福州南路,澄海二街,泰州四路,香港中大厦,澳门五路,新湛三街,澳门一路,正阳关街,宁武关广场,闽江四街,新湛一路,宁国一大厦,王家麦岛,澳门七广场,泰州一路,泰州六街,大尧二路,青大一街,闽江二广场,闽江一大厦,屏东支路,湛山一街,东海西路,徐家麦岛函谷关广场,大尧三路,晓望支街,秀湛二路,逍遥三大厦,澳门九广场,泰州五街,澄海一路,澳门八街,福州北路,珠海一广场,宁国二路,临淮关大厦,燕儿岛路,紫荆关街,武胜关广场,逍遥一街,秀湛四路,居庸关街,山海关路,鄱阳湖大厦,新湛路,漳州街,仙游路,花莲街,乐清广场,巢湖街,台南路,吴兴大厦,新田路,福清广场,澄海路,莆田街,海游路,镇江街,石岛广场,宜兴大厦,三明路,仰口街,沛县路,漳浦广场,大麦岛,台湾街,天台路,金湖大厦,高雄广场,海江街,岳阳路,善化街,荣成路,澳门广场,武昌路,闽江大厦,台北路,龙岩街,咸阳广场,宁德街,龙泉路,丽水街,海川路,彰化大厦,金田路,泰州街,太湖路,江西街,泰兴广场,青大街,金门路,南通大厦,旌德路,汇泉广场,宁国路,泉州街,如东路,奉化街,鹊山广场,莲岛大厦,华严路,嘉义街,古田路,南平广场,秀湛路,长汀街,湛山路,徐州大厦,丰县广场,汕头街,新竹路,黄海街,安庆路,基隆广场,韶关路,云霄大厦,新安路,仙居街,屏东广场,晓望街,海门路,珠海街,上杭路,永嘉大厦,漳平路,盐城街,新浦路,新昌街,高田广场,市场三街,金乡东路,市场二大厦,上海支路,李村支广场,惠民南路,市场纬街,长安南路,陵县支街,冠县支广场,小港一大厦,市场一路,小港二街,清平路,广东广场,新疆路,博平街,港通路,小港沿,福建广场,高唐街,茌平路,港青街,高密路,阳谷广场,平阴路,夏津大厦,邱县路,渤海街,恩县广场,旅顺街,堂邑路,李村街,即墨路,港华大厦,港环路,馆陶街,普集路,朝阳街,甘肃广场,港夏街,港联路,陵县大厦,上海路,宝山广场,武定路,长清街,长安路,惠民街,武城广场,聊城大厦,海泊路,沧口街,宁波路,胶州广场,莱州路,招远街,冠县路,六码头,金乡广场,禹城街,临清路,东阿街,吴淞路,大港沿,辽宁路,棣纬二大厦,大港纬一路,贮水山支街,无棣纬一广场,大港纬三街,大港纬五路,大港纬四街,大港纬二路,无棣二大厦,吉林支路,大港四街,普集支路,无棣三街,黄台支广场,大港三街,无棣一路,贮水山大厦,泰山支路,大港一广场,无棣四路,大连支街,大港二路,锦州支街,德平广场,高苑大厦,长山路,乐陵街,临邑路,嫩江广场,合江路,大连街,博兴路,蒲台大厦,黄台广场,城阳街,临淄路,安邱街,临朐路,青城广场,商河路,热河大厦,济阳路,承德街,淄川广场,辽北街,阳信路,益都街,松江路,流亭大厦,吉林路,恒台街,包头路,无棣街,铁山广场,锦州街,桓台路,兴安大厦,邹平路,胶东广场,章丘路,丹东街,华阳路,青海街,泰山广场,周村大厦,四平路,台东西七街,台东东二路,台东东七广场,台东西二路,东五街,云门二路,芙蓉山村,延安二广场,云门一街,台东四路,台东一街,台东二路,杭州支广场,内蒙古路,台东七大厦,台东六路,广饶支街,台东八广场,台东三街,四平支路,郭口东街,青海支路,沈阳支大厦,菜市二路,菜市一街,北仲三路,瑞云街,滨县广场,庆祥街,万寿路,大成大厦,芙蓉路,历城广场,大名路,昌平街,平定路,长兴街,浦口广场,诸城大厦,和兴路,德盛街,宁海路,威海广场,东山路,清和街,姜沟路,雒口大厦,松山广场,长春街,昆明路,顺兴街,利津路,阳明广场,人和路,郭口大厦,营口路,昌邑街,孟庄广场,丰盛街,埕口路,丹阳街,汉口路,洮南大厦,桑梓路,沾化街,山口路,沈阳街,南口广场,振兴街,通化路,福寺大厦,峄县路,寿光广场,曹县路,昌乐街,道口路,南九水街,台湛广场,东光大厦,驼峰路,太平山,标山路,云溪广场,太清路".split(",");
//路
private static String[] road = "厦禾路,思明东路,思明西路,思明南路,思明北路,中山路,湖滨东路,湖滨西路,湖滨南路,公园东路,公园西路,公园南路,公园北路,鹭江道,莲前东路,莲前西路,前埔东路,前埔西路,前埔南路,前埔北路,环岛南路,环岛北路,环岛凤屿路,莲花南路,莲花北路,东浦路,市府大道,白鹭洲路,建新路,西堤路,后埭西路,同安路,大学路,小学路,仙岳路,镇海路,新华路,鼓新路,鼓声路,兆和路,龙头路,泉州路,福州路,三明路,禾祥东路,禾祥西路,金榜路,漳州路,港后路,溪岸路,将军祠路,万寿路,角尾路,体育路,屿后路,岩路,晃岩路,环岛高速,嘉禾路,吕岭路,台湾街,斗西路,幸福路,成功大道,东渡路,开禾路,金尚路,云顶南路,云顶北路,会展南路,东坪山路,文园路,文屏路,文曾路,演武路,民族路,西村路,电台山路,气象台路,滨榔路,升平路,湖光路,湖明路,莲岳路,谊爱路".split(",");
//酒店旅馆名字
private static String[] lg = "缥缈、羽裳、轩辕、紫萱、韶华、浮光、烟雨、蝶舞、缠绵、绝恋、碧影、星愿、落霞、忘忧、幻真、翩飞、惊鸿、星月、情动、化羽、绝影、醉梦、波澜、山岚、春华、星雨、浩瀚、风萧、浮波、逐风、沧澜、鸿鹄、如梦、入画、青衣、流影、舒荷、霓裳、清曲、醉月、风和、瑞雪、沐宇、舞纱、夜渺、无微、晨阳、佳容、宛碧、纹香、梵音、静晓、润玉、嬛绵、明秀、归云、春媱、夏露、秋颜、冬耀、缱绻、涟漪、若溪、微凉、暖阳、半夏、崖悔、洛尘、矜柔、绚烂、真淳、明媚、迷离、隐忍、灼热、幻灭、落拓、锦瑟、邪殇、离殇、恋夏".split("、");
//脸型
private static String[] tz = "圆脸,椭圆脸,菱形脸,长方脸,方脸,倒大脸,三角脸,狭长脸,畸形脸".split(",");
//派出所
private static String[] pcs = "碧山派出所,开元派出所,滨海派出所,鼓浪屿派出所,鹭江派出所,中华派出所,滨北派出所,梧村派出所,莲前派出所,曾厝垵边防派出所,何厝边防派出所,筼筜派出所".split(",");
//行政区编码
private static String[] xzqbm = "350203001000,350203003000,350203005000,350203006000,350203007000,350203008000,350203009000,350203010000,350203011000,350203012000".split(",");
//特长
private static String[] zc = "驾车,驾船,驾机,射击,爆破,解刨,屠宰,印刷,表演,绘画,摄影,钳工,缝纫,潜水,攀高,医药,武术".split(",");//特长
//性别代码
private static String[] xbdm = "1,2".split(",");//性别代码
//手机号开头
private static String[] telFirst = "134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153".split(",");
//邮箱
private static final String[] email_suffix = "@gmail.com,@yahoo.com,@msn.com,@hotmail.com,@aol.com,@ask.com,@live.com,@qq.com,@0355.net,@163.com,@163.net,@263.net,@3721.net,@yeah.net,@googlemail.com,@126.com,@sina.com,@sohu.com,@yahoo.com.cn".split(",");
//房屋结构
private static String[] zm = "木质,石头,混合,钢架".split(",");
//随机数
private static RandomNum randnum = new RandomNum();
private static TimeUtil time = new TimeUtil(); /**
* 返回Email
*
* @param lMin 最小长度
* @param lMax 最大长度
* @return
*/
public String getEmail(int lMin, int lMax) {
int length = randnum.getNum(lMin, lMax);
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = (int) (Math.random() * base.length());
sb.append(base.charAt(number));
}
sb.append(email_suffix[(int) (Math.random() * email_suffix.length)]);
return sb.toString();
} /**
* 返回手机号码
*/ public String getTel() {
int index = randnum.getNum(0, telFirst.length - 1);
String first = telFirst[index];
String second = String.valueOf(randnum.getNum(1, 888) + 10000).substring(1);
String third = String.valueOf(randnum.getNum(1, 9100) + 10000).substring(1);
return first + second + third;
} /**
* 生成三字中文名字
*/
public String getName() {
Random random = new Random();
int index = random.nextInt(firstName.length() - 1);
String name = firstName.substring(index, index + 1);
; //获得一个随机的姓氏
int i = random.nextInt(3);//可以根据这个数设置产生的男女比例
if (i == 2) {
int j = random.nextInt(girl.length() - 2);
name = "2," + name + girl.substring(j, j + 2);
/* 两字和三字名
if (j % 2 == 0) {
//name = "女-" + name + girl.substring(j, j + 2);
name = name + girl.substring(j, j + 2);
} else {
//name = "女-" + name + girl.substring(j, j + 1);
name = name + girl.substring(j, j + 1);
}
*/
} else {
int j = random.nextInt(girl.length() - 2);
//三字名
name = "1," + name + boy.substring(j, j + 2);
/* 两字和三字
if (j % 2 == 0) {
//name = "男-" + name + boy.substring(j, j + 2);
name = name + boy.substring(j, j + 2);
} else {
//name = "男-" + name + boy.substring(j, j + 1);
name = name + boy.substring(j, j + 1);
}
*/
}
return name;
} /**
* 返回单位
*/
public String getDw() {
Random random = new Random();
int len = hz.length();
int i1 = random.nextInt(len - 1);
int i2 = random.nextInt(len - 1);
int i3 = random.nextInt(len - 1);
String a = hz.substring(i1, i1 + 1);
String b = hz.substring(i2, i2 + 1);
String c = hz.substring(i3, i3 + 1);
return a + b + c + "股份有限公司";
} /**
* @param N 随机数范围
* @return 代码
*/
public String getDm(int N) {
String mz = "";
Random random = new Random();
int dm = random.nextInt(N) + 1;
if (dm < 10) {
mz = "0" + dm;
} else {
mz = String.valueOf(dm);
}
return mz;
} /**
* 返回生日和身份证号
*/
public String getSfzxx(String beginnum, String begindate, String enddate) {
//String bm = "3502";//开头数字
int N = 9;//随机数范围
Random random = new Random();
String bmTmp = beginnum;
for (int j = 0; j < 6 - beginnum.length(); j++) {//身份证开头6位
bmTmp = bmTmp + random.nextInt(N);
}
Date date = time.randomDate(begindate, enddate);
String sr = time.formaTime(date, "yyyyMMdd");
String sr1 = time.formaTime(date, "yyyy-MM-dd");
bmTmp = bmTmp + sr;
for (int j = 0; j < 4; j++) {//身份证后4位
bmTmp = bmTmp + random.nextInt(N);
}
String sfz = sr1 + "," + bmTmp;
return sfz;
} /**
* 返回地址
*
* @return
*/
public String getRoad() {
int index = randnum.getNum(0, road.length - 1);
String qu = "思明区";
String ss = "福建省厦门市";
String first = road[index];
String second = String.valueOf(randnum.getNum(11, 150)) + "号";
//String third="-"+getNum(1,20)+"-"+getNum(1,10);
String third = randnum.getNum(1, 9) + "" + randnum.getNum(10, 20) + "室";
//String third="";
String jb = getZm();
return ss + qu + first + second + third;
//return first + second + third + "', '" + ss + qu + first + second + third;
//return first + second + third + tmp + qu + first + second + third;
} /**
* 返回派出所
*/
public String getPcs() {
int index = randnum.getNum(0, pcs.length - 1);
String qu = "厦门市公安局";
String first = pcs[index];
return qu + first;
} /**
* 返回行政区编码
*/
public String getXzqbm() {
int index = randnum.getNum(0, xzqbm.length - 1);
String first = xzqbm[index];
return first;
} /**
* 返回房屋结构
*/
private static String getZm() {
int index = randnum.getNum(0, zm.length - 1);
String first = zm[index];
return first;
} /**
* 长相特征
*
* @return
*/
private static String getTz() {
int index = randnum.getNum(0, tz.length - 1);
String first = tz[index];
return first;
} /**
* 特长
*
* @return
*/
private static String getZc() {
int index = randnum.getNum(0, zc.length - 1);
String first = zc[index];
return first;
} /**
* 行政区代码
*
* @return
*/
public String getXbdm() {
int index = randnum.getNum(0, xbdm.length - 1);
String first = xbdm[index];
return first;
}
}
package com.util.createdata; public class RandomNum {
/**
* 生成指定范围随机数
*
* @param begin
* @param end
* @return long类型随机数
*/
public long getNum(long begin, long end) {
long rtn = begin + (long) (Math.random() * (end - begin));
if (rtn == begin || rtn == end) {
return getNum(begin, end);
}
return rtn;
} /**
* 生成指定范围随机数
*
* @param start
* @param end
* @return int类型随机数
*/
public int getNum(int start, int end) {
return (int) (Math.random() * (end - start + 1) + start);
}
}
Java自动生成数据的更多相关文章
- hibernate中.hbm.xml和注解方式自动生成数据表的简单实例(由新手小白编写,仅适用新手小白)
绝逼新手小白,so 请大神指点! 如果真的错的太多,错的太离谱,错的误导了其他小伙伴,还望大神请勿喷,大神请担待,大神请高抬贵嘴......谢谢. 好了,正题 刚接触ssh,今天在搞使用.hbm.xm ...
- Mybatis上路_06-使用Java自动生成[转]
Mybatis上路_06-使用Java自动生成 11人收藏此文章, 我要收藏发表于1个月前(2013-04-24 23:05) , 已有151次阅读 ,共0个评论 目录:[ - ] 1.编写Gener ...
- JAVA自动生成正则表达式工具类
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...
- Mybatis上路_06-使用Java自动生成
目录[-] 1.编写Generator执行配置文件: 2.在MyEclipse中建空web项目: 3.编写并执行Java程序: 4.查看并修改生成的文件: 5.测试,使用生成的文件查询: 1)导入My ...
- 利用mybatis-generator自动生成数据持久化的代码
MyBatis生成器简介 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将生成所有版本的MyBatis的代码,以及版本2.2.0之后的iB ...
- java自动生成代码
看到这个标题,如果你以为真的可以完全自动生成,那你就太Naive啦 我这里想介绍的是,利用模板生成我们需要的代码 一.模板 首先来说说模板,常见的java模板有:FreeMarker.Velocity ...
- java自动生成表单简单实例
数据库表设置 tb_form(form表单) 字段 类型 约束 说明 Id Int 主键 主键 Formid Varchar2(20) 唯一 Form表单id的值 Action Varchar2(20 ...
- java自动生成entity文件
网上关于自动生成entity文件的代码很多,看了很多代码后,在先辈们的基础上再完善一些功能(指定多个表,全部表). 为了使用方便所以把两个类写在一个java文件中,所以大家可以直接拿这个java文件, ...
- java 自动生成四则运算式
本篇文章将要介绍一个“自动生成四则运算式”的java程序,在没有阅读<构建之法>之前,我已经通过一个类的形式实现了要求的功能,但是当阅读完成<构建之法>之后,我意识到自己所写程 ...
随机推荐
- python-Flask模版注入攻击SSTI(python沙盒逃逸)
一篇以python Flask 模版渲染为例子的SSTI注入教学~ 0x01 Flask使用和渲染 这里简化了flask使用和渲染的教程 只把在安全中我们需要关注的部分写出来 来一段最简单的FLASK ...
- MySQL生僻函数
0X01 字符串函数 STRCMP STRCMP(expr1,expr2) 若所有的字符串均相同,则返回STRCMP(),若根据当前分类次序,第一个参数小于第二个,则返回 -1,其它情况返回 1 . ...
- Java的事件自定义事件学习
课程设计要做一个游戏,由于对C++不是很熟悉,老师也准许使用java 或者其他的语言,在.net我学过事件,一种委托回调,但是在java 我不是很了解,应该原理都相同吧! 游戏大致是这样的,现在这在写 ...
- Android Studio 1.5运行问题
Error:Unable to start the daemon process: could not reserve enough space for object heap.Please assi ...
- Spring Boot2 系列教程(十五)定义系统启动任务的两种方式
在 Servlet/Jsp 项目中,如果涉及到系统任务,例如在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行,这里,容易想到web基础中的三大组件( ...
- vue——前端跨域
***针对的是不同域名.不同协议的跨域: 1.找到config文件中开发环境的配置文件——dev.env.js,在里面将要跨域的域名配置进去 2.找到config文件中线上环境的配置文件——prod. ...
- 浅谈K-means聚类算法
K-means算法的起源 1967年,James MacQueen在他的论文<用于多变量观测分类和分析的一些方法>中首次提出 “K-means”这一术语.1957年,贝尔实验室也将标准算法 ...
- POJO和JavaBean
1.POJO POJO(Plain Ordinary Java Object):POJO就是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean.EntityBean等, ...
- krry-transfer ⏤ 基于 element 的升级版穿梭框组件发布到 npm 啦
博客地址:https://ainyi.com/81 基于 element ui 的==升级版穿梭框组件==发布到 npm 啦 看过我之前博客的同学或许知道我之前写过关于 element 穿梭框组件重构 ...
- 什么是Viewport
什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机 ...