一次添加一百条,不用再手动添了(此处响起掌声)
写分页查询栗子时候想到的,在这里单独记录一下。
表的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;
}
}