JDBC insert multiple rows

后端 未结 5 1900
别跟我提以往
别跟我提以往 2020-12-14 01:14

I am now using batch:

String query = \"INSERT INTO table (id, name, value) VALUES (?, ?, ?)\";
PreparedStatement ps = connection.prepareStatement(query);             


        
5条回答
  •  余生分开走
    2020-12-14 01:32

    public void insertBatch(final List records ) {
    
        String query = "INSERT INTO table (id, name, value) VALUES (?, ?, ?)";
    
    
        GenericDAO.getJdbcTemplate().batchUpdate(sql, new BatchPreparedStatementSetter() {
    
    
            @Override
            public void setValues(PreparedStatement ps, int i) throws SQLException {
                  Record record = records .get(i);
                  ps.setInt(1, record.id);
                  ps.setString(2, record.name);
                  ps.setInt(3, record.value);
            }
    
            @Override
            public int getBatchSize() {
                return records.size();
            }
        });
    }
    

提交回复
热议问题