Example usage for org.springframework.jdbc.core JdbcTemplate batchUpdate

List of usage examples for org.springframework.jdbc.core JdbcTemplate batchUpdate

Introduction

In this page you can find the example usage for org.springframework.jdbc.core JdbcTemplate batchUpdate.

Prototype

@Override
    public int[] batchUpdate(String sql, List<Object[]> batchArgs) throws DataAccessException 

Source Link

Usage

From source file:wherehows.dao.table.DatasetsDao.java

private void updateDatasetOwnerDatabase(JdbcTemplate jdbcTemplate, int datasetId, String datasetUrn,
        List<DatasetOwner> owners) {
    jdbcTemplate.batchUpdate(UPDATE_DATASET_CONFIRMED_OWNERS, new BatchPreparedStatementSetter() {
        @Override/*from   www. ja  va2  s  .com*/
        public void setValues(PreparedStatement ps, int i) throws SQLException {
            DatasetOwner owner = owners.get(i);
            ps.setInt(1, datasetId);
            ps.setString(2, owner.getUserName());
            ps.setInt(3, owner.getIsGroup() ? 301 : 300);
            ps.setString(4, owner.getNamespace());
            ps.setString(5, owner.getType());
            ps.setString(6, owner.getIsGroup() ? "Y" : "N");
            ps.setString(7, owner.getIsActive() != null && owner.getIsActive() ? "Y" : "N");
            ps.setInt(8, owner.getSortId());
            ps.setString(9, datasetUrn);
            ps.setString(10, owner.getSubType());
            ps.setString(11, owner.getIdType());
            ps.setString(12, owner.getSource());
            ps.setString(13, owner.getConfirmedBy());
            ps.setLong(14, StringUtils.isBlank(owner.getConfirmedBy()) ? 0L : Instant.now().getEpochSecond());
            ps.setString(15, owner.getType());
            ps.setString(16, owner.getIsGroup() ? "Y" : "N");
            ps.setInt(17, owner.getSortId());
            ps.setString(18, owner.getSubType());
            ps.setString(19, owner.getConfirmedBy());
            ps.setLong(20, StringUtils.isBlank(owner.getConfirmedBy()) ? 0L : Instant.now().getEpochSecond());
        }

        @Override
        public int getBatchSize() {
            return owners.size();
        }
    });
}