数据从文件解析为java然后进入mysql数据库

我有.Data文件以上述格式给出。 我正在用java编写一个程序,它将获取.data文件中的值并将其放入缓冲区。 我的java程序通过JDBC连接到Mysql(windows)。 所以我需要读取上面格式中给出的文件中的值,并将其作为缓冲区

Insert Into building values ("--", "---",----) 

这样,我存储这些值,jdbc将填充Mysql(windows)上的数据库表。 请告诉我最好的方式。

查看此问题的答案,以便读取文件行并将其拆分为块。 我知道问题是Groovy:但大多数答案都是Java。 然后插入通过JDBC检索的值。

实际上,由于您的数据文件显然是CSV,您还可以使用像OpenCSV这样的CSV 库来读取值。

数据采用CSV格式,因此使用CSV库解析文件,然后添加一些JDBC代码将其插入数据库。

或者只需从Java调用MySQL CSV import命令 :

 try { // Execute a command with arguments String command = "mysqlimport [options] db_name textfile1 [textfile2 ...]"; Process child = Runtime.getRuntime().exec(command); } catch (IOException e) { } 

这是同一任务的第四个问题…如果您的数据文件格式正确,就像您提供的示例一样,那么您不必将行拆分为值:

 Source: "AAH196","Austin","TX","Virginia Beach","VA" Target: INSERT INTO BUILDING VALUES("AAH196","Austin","TX","Virginia Beach","VA"); <=> "INSERT INTO BUILDING VALUES(" + Source + ");" 

从您的csv文件中取一个完整的行并连接一个SQL表达式。

( 参见我对第1个问题的回答 – 顺便说一句, 如果 SQL INJECTION是一个潜在的问题,分割一行数值也不是一个解决方案)

你可以使用opencsv将你的csv绑定到java bean。 http://opencsv.sourceforge.net/

您可以使用ORM框架(如Hibernate,Cayenne或JPA)使这些bean持久化,这些框架基于注释并可以轻松地将字段映射到表而无需创建任何sql语句。

这对Groovy来说是一个完美的工作。 这是一个需要构建的小骨架脚本的要点 。