Spring BatchSqlUpdate.updateByNamedParam例子
Posted 正在战斗中
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring BatchSqlUpdate.updateByNamedParam例子相关的知识,希望对你有一定的参考价值。
关键在于定义参数和sql语句,代码如下:
int dstColCount=dstColNamesList.size(); String insSql="insert into "+tableName+"("+dstTableInsColSql+") values("+dstTableInsValueSql+")"; BatchSqlUpdate bsu=new BatchSqlUpdate(); bsu.setDataSource(jdbcService.getJdbcTempalte().getDataSource()); bsu.setSql(insSql); bsu.setBatchSize(1000); for (int i = 0; i < dstColCount; i++) { SqlParameter sp=new SqlParameter(dstColNamesList.get(i),java.sql.Types.VARCHAR); bsu.declareParameter(sp); } // 生成插入到当前数据库的有关脚本 while (srcRecords.next()) { for (int i = 0; i < dstColCount; i++) { paramsMap.put(dstColNamesList.get(i), srcRecords.getString(srcColNamesList.get(i))); } bsu.updateByNamedParam(paramsMap); }
1)SqlParameter有多种构造函数,具体可以看官方文档
2)由于是命名参数,所以sql的参数必须定义为 冒号+名称,例如:name,:sex.
3)SqlParameter中参数的名称必须和sql中的对应
4)updateByNamedParam中Map的key名称必须和 sql中参数名称对应
效率上尚未深入测试,有机会做个测试看看!
以上是关于Spring BatchSqlUpdate.updateByNamedParam例子的主要内容,如果未能解决你的问题,请参考以下文章
Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC
学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签
Spring框架--Spring事务管理和Spring事务传播行为