JavaEE 数据库随机值插入测试
package com.jery.javaee.dbtest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Random;
import com.jery.javaee.utils.UUIDUtils; public class UserTest {
Connection conn = null;
String sql = "";
PreparedStatement pstmt = null;
int target=0;
public UserTest() {
super();
initial();
} public void initial() {
// 1. 加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载驱动失败"a);
}
// 2. 创建连接
try {
conn = DriverManager.getConnection("jdbc:mysql:///openeyes", "root", "root");
} catch (SQLException e) {
System.out.println("创建连接失败");
e.printStackTrace();
}
}
public void close() {
try {
if (pstmt != null)
pstmt.close();
if (conn != null)
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public int insertUser(int userid,String username,String password,String gender,
int age,String description,String email,int identify,int fsNum,int gzNum) {
sql = "INSERT INTO user(userid,username,password,gender,age,description,email,identify,fsNum,gzNum,ucreatetime) VALUES(?,?,?,?,?,?,?,?,?,?,NOW())";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, userid);
pstmt.setString(2,username);
pstmt.setString(3,password);
pstmt.setString(4,gender);
pstmt.setInt(5, age);
pstmt.setString(6,description);
pstmt.setString(7,email);
pstmt.setInt(8,identify);
pstmt.setInt(9,fsNum);
pstmt.setInt(10,gzNum); pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println("数据库操作异常");
e.printStackTrace();
}finally{
close();
}
return target;
} public static void main(String[] args) { UserTest test =null; //循环插入数据
for (int z = 0; z < 100; z++) {
test= new UserTest(); /***
* 随机userid1
*/
int userid = UUIDUtils.getNumUUID();//永不重复的UUID,此类详细在最后 /***
* 随机username2
*/
Random random = new Random();
String[] Surname = {"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许",
"何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", "潘", "葛", "奚", "范", "彭", "郎",
"鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "殷",
"罗", "毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和",
"穆", "萧", "尹", "姚", "邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "贝", "明", "臧", "计", "伏", "成", "戴", "谈", "宋", "茅", "庞", "熊", "纪", "舒",
"屈", "项", "祝", "董", "梁", "杜", "阮", "蓝", "闵", "席", "季"};
String girl = "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯悦昭冰爽琬茗羽希宁欣飘育滢筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽 ";
String boy = "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄钧冠策腾楠榕风航弘";
int index = random.nextInt(Surname.length - 1);
String username = Surname[index]; //获得一个随机的姓氏
int i = random.nextInt(3);//可以根据这个数设置产生的男女比例
if(i==2){
int j = random.nextInt(girl.length()-2);
if (j % 2 == 0) {
username = username + girl.substring(j, j + 2);
} else {
username = username + girl.substring(j, j + 1);
}
}
else{
int j = random.nextInt(girl.length()-2);
if (j % 2 == 0) {
username = username + boy.substring(j, j + 2);
} else {
username = username + boy.substring(j, j + 1);
}
} /***
* 随机password3
*/
String str = "abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*.";
int randomNum;
char passchar;
StringBuffer passwordbuffer = new StringBuffer(); for (int j = 0; j < 9; j++) {
// 可生成[0,n)之间的整数,获得随机位置
randomNum = random.nextInt(str.length());
// 获得随机位置对应的字符
passchar = str.charAt(randomNum);
// 组成一个随机字符串
passwordbuffer.append(passchar);
}
String oldpassword=passwordbuffer.toString();
String password = MD5Utils.toMd5(bpassword);//密码采用MD5加密,此类方法在最下面
/***
* 随机性别4
*/
String[] sex = { "男", "女" };
int sexIndex = 0;
sexIndex = random.nextInt(2);
String gender = sex[sexIndex]; /***
* 随机年龄5
*/
int age = 0;
age = random.nextInt(60) + 1; /***
* 随机个性签名6
*/
String description = "开眼是最棒的"; /***
* 随机邮箱7
*/
String nemail = "0123456789";
StringBuffer sb = new StringBuffer();
for (int l = 0; l < 9; l++) {
int number = (int) (Math.random() * nemail.length());
sb.append(nemail.charAt(number));
}
String[] stremail = {"@gmail.com","@yahoo.com","@msn.com","@live.com","@qq.com","@163.com","@163.net","@googlemail.com","@sina.com","@sohu.com","@yahoo.com.cn"};
int sindex = 0;
sindex = random.nextInt(11);
String ssemail = stremail[sindex]; String email = sb.toString()+ssemail; /***
* 随机身份8
*/
int[] ident = {0, 1};
int a = 0;
a = random.nextInt(2);
int identify = ident[a]; /***
* 随机粉丝数9
*/
int fsNum = 0;
fsNum = random.nextInt(9999) + 1; /***
* 随机关注数10
*/
int gzNum = 0;
gzNum = random.nextInt(9999) + 1; test.insertUser(userid, username, password, gender, age, description, email, identify, fsNum, gzNum);
}
System.out.println("成功插入100条数据!");
} }
永不重复的UUID,类如下:
package com.jery.javaee.utils; import java.util.UUID; public class UUIDUtils { public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
String id = uuid.toString();
System.out.println(id.hashCode());
}
public static String getUUID() {
UUID uuid = UUID.randomUUID();
return uuid.toString().replace("-", "");
}
public static int getNumUUID() {
UUID uuid = UUID.randomUUID();
int num = uuid.toString().replace("-", "").hashCode();
return num > 0 ? num : -num;
}
}
MD5加密明文密码,类如下:
package com.jery.javaee.utils; import org.apache.commons.codec.digest.DigestUtils; public class MD5Utils { public static void main(String[] args) {
String pass = DigestUtils.md5Hex("");
System.out.println(pass);
} public static String toMd5(String pass) {
return DigestUtils.md5Hex(pass);
}
}
此例子中需要的UUID,MD5类包可以在网上下载,数据库插入了不同类型的测试数据,是为了方便进行JavaWeb开发,内容仅供参考,转载请注明出处。谢谢
JavaEE 数据库随机值插入测试的更多相关文章
- EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...
- MyBatis向数据库中批量插入数据
Foreach标签 foreach: collection:指定要遍历的集合; 表示传入过来的参数的数据类型.该参数为必选.要做 foreach 的对象,作为入参时,List 对象默认用 list 代 ...
- 【JavaEE】之MyBatis插入数据后获取自增主键
很多时候,我们都需要在插入一条数据后回过头来获取到这条数据在数据表中的自增主键,便于后续操作.针对这个问题,有两种解决方案: 先插入,后查询.我们可以先插入一条数据,然后根据插入的数据的各个字段值,再 ...
- net core天马行空系列-各大数据库快速批量插入数据方法汇总
1.前言 hi,大家好,我是三合.我是怎么想起写一篇关于数据库快速批量插入的博客的呢?事情起源于我们工作中的一个需求,简单来说,就是有一个定时任务,从数据库里获取大量数据,在应用层面经过处理后再把结果 ...
- python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板, Model(jDango-ORM) : SQLite,数据库时间字段插入的方法
python_way day18 html-day4 1.Django-路由系统 - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ...
- 程序处理数据库中值字段值为null的查询显示
1.如果你做了一个简单的注册界面,需要用户进行注册,但有些项是不必要填的,当用户完成注册时,数据库表中的相应字段的值会写入null,但如何将查询的字段的值null显示出来? 2.首先我们学习一下如何向 ...
- Eclipse For JavaEE安装、配置、测试
Eclipse For JavaEE安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与配置 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发 ...
- oracle数据库之数据插入、修改和删除
作为一合格的测试人员对数据库的单表查询.多表查询.分组查询.子查询等等这些基本查询方法还是要会的.不然到企业中,容易被一些人鄙视,或者说如果数据库学不好,表查不明白,那么对自己能力来说也是一种侮辱,因 ...
- Spring boot Jpa添加对象字段使用数据库默认值
Spring boot Jpa添加对象字段使用数据库默认值 jpa做持久层框架,项目中数据库字段有默认值和非空约束,这样在保存对象是必须保存一个完整的对象,但在开发中我们往往只是先保存部分特殊的字段其 ...
随机推荐
- Oracle——创建和管理表
一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...
- Razor内幕之解析
ASPX语法比较简单,所以ASPX解析器几乎完全是通过正则表达式来实现的.Razor解析器与ASPX解析器之间有很大不同,它实际上分为三个独立的组件: 1)理解基础HTML语法的标记解析器: 2)理解 ...
- 迷宫救人——DFS小题
原创 题目大意:人质被困在迷宫之中,要求你寻找一条最短路径快速找到人质. 如图,人质在黄色点2处,营救者在起点红色处,1表示无法通过的障碍点,寻找一条最短路径快速找到人质. 毫无疑问用DFS,遍历4个 ...
- 类的 where T : class 泛型类型约束
where T : struct | T必须是一个结构类型where T : class T必须是一个类(class)类型where T : new() | T必须要有一个无参构造函数where T ...
- 快速搭建hadoop,学习使用
1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=myvm ### 1 ...
- Duration Assertion(持续时间)
Duration Assertion用来测试每一个响应的时间是否小于给定的值,任何超过给定毫秒数的响应都会标记为失败. Duration in milliseconds:响应的持续时间是否在给定的值范 ...
- List_Delete
/*Sorting from little to large use List*/ #include <stdio.h> /* printf, scanf, NULL */ #includ ...
- jmeter在linux上运行
若需在linux操作系统上运行jmeter,则需要以命令行的形式运行. 前提条件:linux环境下配置好jdk.jmeter的环境变量等. 1.首先在Windows的图形化界面做好脚本,设置好并发用户 ...
- 类4(可变数据成员/基于const的重载)
可变数据成员: 有时我们希望能修改某个类的数据成员,即使是在一个 const 成员函数内.可以通过在变量的声明中加入 mutable 关键字来声明一个可变数据成员.mutable 是为突破 const ...
- leecode刷题(4)-- 存在重复数组
leecode刷题(4)-- 存在重复数组 存在重复数组 题目描述: 给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 ...