@Autowired

private JdbcTemplate jdbcTemplate_mysql;


方法1:

public int[] batchUpdate(final List<Persons> list) {

String sql = "insert into persons(FirstName,LastName,age,flag) values(?,?,?,?)";

return jdbcTemplate_mysql.batchUpdate(sql,

new BatchPreparedStatementSetter() {

public int getBatchSize() {

return list.size();

}


public void setValues(PreparedStatement ps, int i)

throws SQLException {

Persons p = (Persons) list.get(i);

ps.setString(1, p.getFirstName()); // 设置参数值

ps.setString(2, p.getLastName());

ps.setString(3, p.getAge());

ps.setString(4, p.getFlag());

}

});

}

方法2:

public int[] batchUpdate2(final List<Persons> list) {

String sql = "insert into persons(FirstName,LastName,age,flag) values(";

String[] sqls = new String[list.size()];

List<String> sqlList = new ArrayList<String>();

for (Persons p : list) {

sqlList.add(sql + "'" + p.getFirstName() + "','" + p.getLastName()

+ "','" + p.getAge() + "','" + p.getFlag() + "');"); // 拼sql字符串数组

}

sqlList.toArray(sqls);

return jdbcTemplate_mysql.batchUpdate(sqls);

}