我需要将数据从excel插入到数据库中:
Id Name Phone Joining Date Subject
1 A 11111 14-Mar-2001 Cse
2 B 22222 25-Dec-2016 IT
3 C 33333 12-Dec-2011 ECE
如果我必须在单个表中执行批量插入,那么我可以使用spring jdbctemplate(batchUpdate(...))来完成它。
但是我想让它在多个表中插入数据,例如表1中的前3列,表2中的下2,表3中的下一个n,就像这样。
为了读取数据,我使用POI API并在提取数据后将其保存在Map of Map对象中,该对象看起来如下:
allObj=[{0=1.0, 1=A, 2=11111.0, 3=2001-3-14 0:0:0, 4=Cse}, {0=2.0, 1=B, 2=22222.0, 3=2016-12-25 0:0:0, 4=IT}, {0=3.0, 1=C, 2=33333.0, 3=2011-12-12 0:0:0, 4=ECE}]
如何执行此任务?没有要求完整的解决方案,而是提示。感谢
如果需要编码,请告知我不发布,因为它很长且很常见。
EDITED: 很少有人不理解这个问题!
我想你知道批量更新。我正在使用Spring的JdbcTemplate。 假设我有表T1: Id |姓名|电话|加入日期|数据库中的主题(使用MYSQL)
现在,我有一个带有相应值的excel文件。我可以读取它并通过该表中的JdbcTemplate批量插入数据库。
但是现在我有两张桌子作为T1:Id |姓名|电话 和T2:加入日期|受试者
我有相同的excel文件。 现在我的问题进入了框架。 如何在两个表中插入值?如果你得到这个问题,请删除你的-ve vote。
答案 0 :(得分:-1)
LOAD DATA LOCAL INFILE
'C:\\temp\\file.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(@col1,@col2)
set
column1 = @col1,
column2 = @col2;
对于table1的上述查询,通过相应地更改column_names为其他表运行相同。