1. 程式人生 > >57-jdbc批處理

57-jdbc批處理




批處理

我們用的PreparedStatement內部
是有集合的
所以我們可以用迴圈往PreparedStatement物件裡面
新增sql引數
它自己是有模板的
用一組引數和模板可以匹配出一條sql語句

然後我們就呼叫它的批處理方法
這樣就完成了向資料庫傳送

我們先要新增一個屬性
地址後面/db_abc?rewriteBatchedStatements=true
也就是開啟批處理



    public static void main(String[] args) {

        try {
            //載入驅動類
            Class.forName("com.mysql.jdbc.Driver");
            //地址
            String url = "jdbc:mysql://localhost:3306/abc?useSSL=false&rewriteBatchedStatements=true";
            //賬號和密碼
            String username = "root";
            String password = "123";

            //連線資料庫
            Connection connection = DriverManager.getConnection(url, username, password);

            //來一條sql語句
            String sql = "insert into tb_person values(?,?,?)";

            //獲取PreparedStatement物件
            PreparedStatement statement = connection.prepareStatement(sql);

            //迴圈設定引數並新增
            for (int i = 216; i < 1000; i++) {
                statement.setInt(1, i + 1);
                statement.setString(2, "abc" + i);
                statement.setInt(3, i / 2);

                statement.addBatch();
            }

            //執行更新
            statement.executeBatch();

            //關閉
            statement.close();
            connection.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }