Java 如何在Namedparameterjdbctemplate上执行batchUpdate而不是更新

Java 如何在Namedparameterjdbctemplate上执行batchUpdate而不是更新,java,spring-boot,spring-batch,jdbctemplate,batchsize,Java,Spring Boot,Spring Batch,Jdbctemplate,Batchsize,我正在解析一个文件,并创建一个字符串元素列表,插入到我的表中。我试图设置一次插入5行的批处理大小,但不知道如何使用.batchupdate代替您当前调用的“我的代码”中的.update 可比较的批处理版本为 所以看起来很明显,要批量完成,构建一个数组,然后进行调用 final int batchSize = 5; List<SqlParameterSource> args = new ArrayList<>(); for (ZygateEntity zygateInfo

我正在解析一个文件,并创建一个字符串元素列表,插入到我的表中。我试图设置一次插入5行的批处理大小,但不知道如何使用
.batchupdate
代替您当前调用的“我的代码”中的
.update

可比较的批处理版本为

所以看起来很明显,要批量完成,构建一个数组,然后进行调用

final int batchSize = 5;

List<SqlParameterSource> args = new ArrayList<>();
for (ZygateEntity zygateInfo : parseData){
    SqlParameterSource source = new MapSqlParameterSource("account_name", zygateInfo.getAccountName())
            .addValue("command_name", zygateInfo.getCommandName())
            .addValue("system_name", zygateInfo.getSystemName())
            .addValue("CREATE_DT", zygateInfo.getCreateDt());
    args.add(source);
    if (args.size() == batchSize) {
        namedParameterJdbcTemplate.batchUpdate(sql, args.toArray(new SqlParameterSource[args.size()]));
        args.clear();
    }
}
if (! args.isEmpty()) {
    namedParameterJdbcTemplate.batchUpdate(sql, args.toArray(new SqlParameterSource[args.size()]));
}
final int batchSize=5;
List args=new ArrayList();
用于(ZygateEntity zygateInfo:parseData){
SqlParameterSource=新的MapSqlParameterSource(“帐户名称”,zygateInfo.getAccountName())
.addValue(“命令名称”,zygateInfo.getCommandName())
.addValue(“系统名称”,zygateInfo.getSystemName())
.addValue(“CREATE_DT”,zygateInfo.getCreateDt());
args.add(源);
if(args.size()==batchSize){
namedParameterJdbcTemplate.batchUpdate(sql,args.toArray(新的SqlParameterSource[args.size()]);
args.clear();
}
}
如果(!args.isEmpty()){
namedParameterJdbcTemplate.batchUpdate(sql,args.toArray(新的SqlParameterSource[args.size()]);
}