spring批量更新數據的方法二則

@Autowiredmysql

private JdbcTemplate jdbcTemplate_mysql;sql


方法1:數組

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

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

return jdbcTemplate_mysql.batchUpdate(sql,字符串

new BatchPreparedStatementSetter() {get

public int getBatchSize() {it

return list.size();io

}ast


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);

}

相關文章
相關標籤/搜索