PersistenceManager 使用addBatch 批处理 setBatchSize

/*获取session*/
private JdbcSession getSession(){
        JdbcSession session=null;
        try {
            manager = PersistenceManager.getInstance("WMS");
            session= manager.getJdbcSession();
        } catch (DbException e) {
            e.printStackTrace();
        }
        return session;
    }
//多参数//批量操作
    @Override
    public int addBatch(String sql, SQLParameter[] parametersArray){
        int rows=0;
        try {
            JdbcSession session = this.getSession();
            /*划重点  这里必须要指定下批处理的记录数 
            *要不然默认是执行800次   如果有主键的话 也会报主键重复 很CD*/
            session.setBatchSize(parametersArray.length);
            session.addBatch(sql, parametersArray);
            rows=session.executeBatch();
        } catch (DbException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            if(manager!=null){
                manager.release();//关闭连接
            }
        }
        return  rows;
    }

猜你喜欢

转载自blog.csdn.net/cc_rain0624/article/details/80499506