参数化批量插入到Spring JDBC中

时间:2012-02-03 22:01:42

标签: java spring jdbc insert spring-batch

我正在尝试创建一个函数,使用Spring JDBC将数据批量插入到不同的表中。我正在查看http://static.springsource.org/spring/docs/current/spring-framework-reference/html/jdbc.html的第13.4节,看看我是如何做到的,但是当动态生成列和值列表时,它没有显示任何示例。

在Python和cx_Oracle中,我所做的就是使用insertmany通过传递一个sql语句和一个包含(column:values)的字典来做到这一点。

有没有办法在使用Spring JDBC的Java上实现相同的功能?

1 个答案:

答案 0 :(得分:0)

这样的事情:

public final SimpleJdbcInsert create(String tableName, String columnNames)
{
    return new SimpleJdbcInsert(jdbcTemplate).withTableName(tableName)
            .usingColumns(getTokens(columnNames));
}

final Map<String, Object> parameters = new HashMap<String, Object>();
/*
* columnName1 is in columnNames
*/
parameters.put("columnName1", value1);

final SimpleJdbcInsert insert = create(table, columnNames);
insert.execute(parameters);