Java(35) _JDBC批量插入数据二

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();
        }
    }
}

 

posted @ 2018-10-30 22:40  sunnybowen  阅读(506)  评论(0编辑  收藏  举报