我正在使用JSP,Java spring将用户的数据插入到数据库中。 PK由数据库自动生成。用户输入的数据将插入到数据网格中,用户将单击“保存”,然后将所有数据(多行/列表)传输到数据库中。
public List<SamSenaraiSemak> saveSenaraiSemak(List<SamSenaraiSemak> semak) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
String insertSQL = "INSERT INTO SAM_SENARAI_SEMAK "
+ "(SAM_JENISURUSNIAGA_PKID,KOD,PERIHAL,ID_SIMPAN,TKH_SIMPAN,ID_SAH_SIMPAN,TKH_SAH_SIMPAN,KOD_STATUS_TRANSAKSI_PKID,STATUSFL)"
+ "VALUES (?,?,?,?,?,?,?,?,?)";
jdbcTemplate.batchUpdate(insertSQL, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
try {
SamSenaraiSemak sam = semak.get(i);
preparedStatement.setLong(1, sam.getJenis_urusniaga() != null ? sam.getJenis_urusniaga() : 0);
preparedStatement.setString(2, sam.getKod() != null ? sam.getKod() : "");
preparedStatement.setString(3, sam.getPerihal() != null ? sam.getPerihal() : "");
preparedStatement.setLong(4, sam.getIdSimpan() != null ? sam.getIdSimpan() : 0);
preparedStatement.setDate(5, sam.getTarikhSimpan());
preparedStatement.setLong(6, sam.getIdSahsimpan() != null ? sam.getIdSahsimpan() : 0);
preparedStatement.setDate(7, sam.getTarikhSahsimpan());
preparedStatement.setLong(8, sam.getKodStatusTransaksiPkid() != null ? sam.getKodStatusTransaksiPkid() : 0);
preparedStatement.setInt(9, sam.getStatusFL() != 0 ? sam.getStatusFL() : 0);
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
@Override
public int getBatchSize() {
return semak.size();
}
});
return semak;
}
和主键(自动生成的)是数据库中的第1列。 SAM_JENISURUSNIAGA_PKID是第2列。