2016-04-27 86 views
-2

我需要从Excel中插入数据到数据库,看起来插入记录到数据库:如何从Excel中使用Spring的JdbcTemplate

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和提取数据M后保持它在地图对象的名单看起来:

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}] 

如何执行这个任务?不要求完整的解决方案,而是提示。谢谢

如果需要编码,然后通知我不张贴它,因为它是漫长而常见的。

编辑: 很少有人不明白这个问题!

我想你知道批量更新。我正在使用spring的JdbcTemplate。 假设我有表T1: ID |名称|电话|加入日期|数据库主题(使用MYSQL)

现在,我有一个excel文件和相应的值。我可以读取它并通过该表中的JdbcTemplate批量插入到数据库中。

但现在我有两个表作为T1:ID |名称|电话 和T2:加入日期|标题

我有同样的excel文件。 现在我的问题进入框架。 如何在两个表中插入值?如果您有问题,请删除您的-ve投票。

+0

看看这个类似的[**后**](http://stackoverflow.com/questions/1310166/how-to-import-an-excel-file-in-to-a-mysql-database ) – 1000111

+0

说实话,我没有找到相似之处。你能指出吗? – Joe

回答

-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为其他表运行相同。

+0

其实我试图创建一个应用程序,其中可以上传一个excel文件的所有信息和数据将被插入到相应的表的相应字段。我正在使用java(spring fw)。 – Joe