package MYSQK;
import java.sql.*;
/**
* PreparedStatement 对象可以对sql语句进行预编译,预编译的信息会存在存储该对象中,当相同的sql语句再次执行时,程序
* 会使用PrepareStatement对象中,而不需再次编译去查询数据库,大大提高了数据的访问效率
*/
public class Insert {
public static void main(String[] args) throws SQLException{
Connection conn=null;
PreparedStatement pst =null;
try {
// 1 加载驱动类
Class.forName("com.mysql.jdbc.Driver");
// 2 通过DriverManager获取connection对象
String url="jdbc:mysql://192.168.64.129:3306/jdbc?" +
"user=root&password=815qza&useUnicode=true&characterEncoding=UTF8";
conn = DriverManager.getConnection(url);
if (!conn.isClosed()){
System.out.println("Succeeded connecting to the Database!");
}else{
System.out.println("Sorry,failed connecting to the Database");
}
// 3 获取pre对象
String sql = "insert INTO USERS(name,PASSWORD,email,birthday) VALUES (?,?,?,?)" ;
pst = conn.prepareStatement(sql);
//4 使用prepare对象执行sql语句
System.out.println("开始插入数据");
long starttime = System.currentTimeMillis();
int count = 0;
for(int i=8;i<=100;i++) {
pst.setString(1,"bowen"+i);
pst.setString(2,"815qza");
pst.setString(3,"bowen"+i+"@126.com");
pst.setString(4,"1990-01-01");
pst.executeUpdate();
count++;
}
long endtime = System.currentTimeMillis();
System.out.println("插入结束!耗费时间为"+(endtime-starttime)/1000+"s");
System.out.println("共插入"+count+"条数据");
}catch (ClassNotFoundException e){
e.printStackTrace();
}finally {
// 6 关闭连接
pst.close();
conn.close();
}
}
}

