executeBatch(批量执行Sql语句

executeBatch()方法:用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch();
addBatch():向批处理中加入一个更新语句。
clearBatch():清空批处理中的更新语句

public void executeBatch() throws SQLException {
            Connection con = Toolkit. getMySqlConnection();
            String sql = "xxx";
            String sql_2 = "xxx";
            Statement st = null;
           // Statement、PreparedStatement(它从 Statement 继承而来)和CallableStatement(它从 PreparedStatement 继承而来)。它们都专用于发送特定类型的 SQL 语句:Statement 对象用于执行不带参数的简单 SQL 语句;PreparedStatement 对象用于执行带或不带 IN参数的预编译 SQL 语句;CallableStatement 对象用于执行对数据库已存储过程的调用。
             try {
                   st = con.createStatement();
                   //conn.setAutoCommit()的功能是每执行一条SQL语句,就作为一次事务提交。但一般在项目中很有可能需要执行多条SQL语句作为一个事务。若有一个执行不成功,就会rollback();当true的时候可启用自动提交模式,false可禁用该模式
                   con.setAutoCommit(false);
                   //使用addBatch()添加SQL语句
                   st.addBatch(sql);
                   st.addBatch(sql_2);
                   st.addBatch(....);
                //使用executeBatch()执行批量sql语句
                   st.executeBatch();
                   con.commit();
            } catch (SQLException e) {
                   loger.info(e.getMessage());
            } finally {
                  Toolkit. close(con);
                  st.close();
            }
      }

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注