JdbcTemplate 批量插入

因为使用template插入速度过慢,上网查了资料,找到了一种插入速度很快的方法

        String sql = "INSERT INTO `party_dealer_info_grp` ( `ID`, `PARTY_CODE6`, `PARTY_NAME`, `DEALER_ID`, `DEALER_NAME`, `TELE`, `FAX`, `EMAIL`, `MSN`, `ADDRESS`, `POSTAL_CODE` ) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
//             jdbcTemplate.batchUpdate(sql,objects);
        jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
            @Override
            public int getBatchSize() {
                return partyDealerInfoGrps.size();
            }

            @Override
            public void setValues(PreparedStatement ps, int i) throws SQLException {
                ps.setInt(1, partyDealerInfoGrps.get(i).getID());
                ps.setString(2, partyDealerInfoGrps.get(i).getPARTY_CODE6());
                ps.setString(3, partyDealerInfoGrps.get(i).getPARTY_NAME());
                ps.setString(4, partyDealerInfoGrps.get(i).getDEALER_ID());
                ps.setString(5, partyDealerInfoGrps.get(i).getDEALER_NAME());
                ps.setString(6, partyDealerInfoGrps.get(i).getTELE());
                ps.setString(7, partyDealerInfoGrps.get(i).getFAX());
                ps.setString(8, partyDealerInfoGrps.get(i).getEMAIL());
                ps.setString(9, partyDealerInfoGrps.get(i).getMSN());
                ps.setString(10, partyDealerInfoGrps.get(i).getADDRESS());
                ps.setString(11, partyDealerInfoGrps.get(i).getPOSTAL_CODE());
            }
        });
    }

测试之后大概每秒三万到五万之间

你可能感兴趣的:(mysql,java,sql,数据库,database,java)