QueryRunner 实现批量处理

参考内容:

public int updateComputerInfoPerfectMeny( String jb_id, String time, String[] pcid) {
        int result = 0;
        Connection conn = null;
        try {
            String sql = "update BSM_PC_LEVEL_DEFINE set PC_LEVEL_ID='"+jb_id+"',UPDATE_TIME='"+time+"' where PLD_ID=?";
             Object[][] params = new Object[pcid.length][1];//assemble batch insert params
                    for (int i = 0; i < pcid.length; i++) {
                        params[i][0] = pcid[i];
                    }
            conn=Tools.getConnection();
            QueryRunner query = new QueryRunner();
            result=query.batch(conn,sql,params).length;
        }
        catch (Exception e) {
            e.printStackTrace();
        } finally {
            DbUtils.closeQuietly(conn);
        }
        return result;
    }
  • query(Connection conn, String sql, Object[] params, ResultSetHandler rsh):这一方法执行一个选择查询,在这个查询中,对象阵列的值被用来作为查询的置换参数。这一方法内在地处理PreparedStatement 和ResultSet  的创建和关闭。ResultSetHandler对把从 ResultSet得来的数据转变成一个更容易的或是应用程序特定的格式来使用。
  • query(String sql, Object[] params, ResultSetHandler rsh):这几乎与第一种方法一样;唯一的不同在于它不将数据库连接提供给方法,并且它是从提供给构造器的数据源(DataSource) 或使用的setDAtaSource 方法中重新获得的。
  • query(Connection conn, String sql, ResultSetHandler rsh):这执行一个不要参数的选择查询。
  • update(Connection conn, String sql, Object[] params):这一方法被用来执行一个插入、更新或删除操作。对象阵列为声明保存着置换参数。

猜你喜欢

转载自blog.csdn.net/u013456370/article/details/81558687