java中怎么把excel中的数据存储到数据库中

java中怎么把excel中的数据存储到数据库中,第1张

如果 Excel 文件在文件系统中,则输出 Agent 模块是主程序。它首先获取文件系统中的 Excel 文件,然后可以启动多个线程去处理一批 Excel 文件。获取 Excel 文件的类型和版本号,根据 Excel 类型和版本号去获取用以描述 Excel 和关系数据库的映射元数据,就是上节我们讲述的内容。进而解析元数据构建元数据的内存模型。并且采用缓存机制,同一种类型,并且是同一种版本的 Excel 文件应用内存中已经构建好的元数据模型来解析,不必每次都去重新获取元数据。这样可以显著的提高性能。

如果 Excel 文件是存放在 Domino 服务器上的,则需要一个 Domino Agent 程序主动调用输出 Agent 所提供的接口,批量的转换用解析程序从 domino 数据文档中解析出来的 excel 文件。(关于 Domino Agent 以及如何开发一个 Agent 程序,请见参考文献 2)

按照映射的元数据模型,应用 HSSF/XSSF 解析 Excel 的相应单元格、列,进而构造 SQL 语句(采用 JDBC 方式的模式)。在一个事务中提交该 Excel 文件所要执行的所有 SQL 语句, 保证一个 Excel 文件写入或者完全成功,或者出错回滚,并报告错误信息。如清单 2 所示。

//Insert into database

       List<String> sqlList = new ArrayList<String>();

       CADataStore  dataStore = new CADataStore();  

       if(tableSQLsMap!= null && tableSQLsMapsize()!= 0){

           Iterator<String> itsql = tableSQLsMapkeySet()iterator();

           while(itsqlhasNext()){

               String tableName = itsqlnext();

               List<String> theList = tableSQLsMapget(tableName);

               sqlListaddAll(theList);

           }

           dataStorewrite(sqlList); // 一个事务中完成所有 sql 语句的插入 *** 作,事务是以一个 excel

// 文件为单位的,可涉及到若干个表

       }

   }

第一,数据库中没有long型。oracle db2等数据库中,请使用number(24)作为类型。java中long的长度好像没超过16位。如果使用很大的整数,请使用javamath包中的 bigInteger类型。

第二。你这个完全可以存储为字符串或者日期类型好么

varchar2是oracle的字符串类型。String是java的字符串类型。字符串对应字符串,当然要转换了。没有错。

说问题怎么解决吧。

首先要确定你写入数据库的数据不是乱码。然后再统一编码,一般统一为UTF-8。

以上就是关于java中怎么把excel中的数据存储到数据库中全部的内容,包括:java中怎么把excel中的数据存储到数据库中、java SQL数据库中long型数据、oracle数据库表中有一列类型为varchar2(20) 使用hibernate映射回来以后手动改成了java.lang.String 为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9381506.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存