【Java+MySQL】随机添加测试数据栗子

一次添加一百条,不用再手动添了(此处响起掌声)
写分页查询栗子时候想到的,在这里单独记录一下。
表的id是自增列,为了避免测试时候删除数据导致id乱序很难看,
所以每次执行这个代码时候都会先删掉原来的表,新建表,再添加数据进去…

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class InsertUser {

	public static void main(String[] args) throws Exception{

		//连接数据库
        Connection conn = null;
    	PreparedStatement st = null;
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/space","root","root");

        //备用数据,这样写好麻烦,感觉可以从txt文件导入,但都写完了就这样吧
        String[] lastName = {"赵","钱","孙","李","周","吴","郑","王","冯","陈","褚","卫","蒋","沈","韩","杨","朱","秦","尤","许","何","吕","施","张","孔","曹","严","华","金","魏","陶","姜"};
        String[] firstName = {"志高","豫兴","桥","恒","甜","喜","雪智","恒德","进福","楷君","石泉","启枝","循流","展鹏","新明","龙菲","兢业","弘道","怀德","米欣欣","凯","飞","月","越","和","梦"};
        String[] province = {"A省","B省","C省","D省","E省","F省","G省","H省","I省","J省","K省","L省","M省","N省","O省","P省","Q省","R省","S省","T省","U省","V省","W省","X省","Y省","Z省"};
        String[] city = {"宁城","龙城","吉城","屏城","善城","永城","清城","黎城","晋城","云城","麻城","姚市","谷市","沐市","同心市","桥市","永和市","周宁市"};
        String[] num = {"xxx","○○","●●●","○○○○","★","★○○"};
        String[] addr = {"街","区","号"};
        String[] addr2 = {"都市新城小区","凤来别墅","都市新苑","附属小区","附属家属院","长河大厦","朝阳家园小区","朝阳新城","长河湾","创业园","点晶小筑","德秀轩","耀华公寓","东升园","嘉华大厦"};
        String[] sexSel = {"男","女"};

        //创建表,如果已存在就删掉再建
        st = conn.prepareStatement("DROP TABLE IF EXISTS `user`;");
        st.executeUpdate();
        st = conn.prepareStatement("CREATE TABLE `user` (" +
								"  `id` int(11) NOT NULL AUTO_INCREMENT," +
								"  `name` varchar(45) DEFAULT NULL," +
								"  `sex` varchar(45) DEFAULT NULL," +
								"  `age` int(11) DEFAULT NULL," +
								"  `address` varchar(45) DEFAULT NULL," +
								"  PRIMARY KEY (`id`)" +
								") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;");
        st.executeUpdate();

        //往建好的表里添加数据
        for(int i=1; i<=100; i++){

        	//调用获得乱数下标的方法,随机整一些数据
            String name = lastName[ran(lastName.length)] + firstName[ran(firstName.length)];
            String address = province[ran(province.length)] + city[ran(city.length)] + num[ran(num.length)]
            		+ addr[ran(addr.length)] + addr2[ran(addr2.length)] + num[ran(num.length)];
            String sex = sexSel[ran(sexSel.length)];
            int age = ran(35)+18;

	        st = conn.prepareStatement("insert into user(name,sex,age,address) value('" + name + "','" + sex + "','" + age + "','" + address + "')");
	        st.executeUpdate();
        }
    }

	//获得乱数下标的方法
	public static int ran(int length){
		int num = 0;
		num = (int) (Math.random() * length);
		return num;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值