使用NamedParameterJdbcTemplate批量插入

时间:2017-05-04 10:28:29

标签: java sql spring

在我的控制器中,我收到一个包含2个参数的请求:一个是整数值,另一个是列表。

{"store_id":12,"product":[[1,10],[2,20],[3,30]]}

我想插入像

12,1,10
12,2,20
12,3,30

我正在使用NamedParameterJdbcTemplate进行数据库查询。我尝试使用batchquery但是耗时。还有其他方法可以做得更好吗?

1 个答案:

答案 0 :(得分:1)

您只能生成一个SQl插入语句。喜欢这个

INSERT INTO MyTable 
( Column1, Column2, Column3 ) 
VALUES
( :Value1_1, :Value1_2, :Value1_3 ), 
( :Value2_1, :Value2_2, :Value2_3 ), 
( :Value3_1, :Value3_2, :Value3_3 ), 
;

VALUES部分是动态的,可根据需要插入多行值。可以相应地放置所有参数以在NamedParameterJdbcTemplate中使用。

我没有尝试过数百万行,但是对于合理数量的行,它应该可以工作。