35 JDBC批量插入數據二
阿新 • • 發佈:2018-10-31
獲取 else ++ star bsp pri conn nal cat
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(); } } }
35 JDBC批量插入數據二