Разбор данных из файла в Java, а затем в базу данных MySQL - PullRequest
1 голос
/ 05 ноября 2010

У меня есть файл .Data в указанном выше формате.Я пишу программу на Java, которая будет принимать значения из файла .data и помещать его в буфер.Моя Java-программа подключена к Mysql (windows) через JDBC.Поэтому мне нужно прочитать значения из файла, указанного в вышеуказанном формате, и поместить его в буфер как

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

Таким образом, я сохраню эти значения, и jdbc заполнит таблицы базы данных на Mysql (windows),Пожалуйста, скажи мне лучший способ.

Ответы [ 5 ]

1 голос
/ 05 ноября 2010

Это четвертый вопрос для той же задачи ... Если ваш файл данных хорошо отформатирован, как в приведенном вами примере, тогда вам не нужно разбивать строку на значения:

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 из 4 - Кстати, , если SQL INJECTION - потенциальная проблема, разделение строки значений также не является решением)

1 голос
/ 05 ноября 2010

Данные представлены в формате CSV, поэтому используйте библиотеку CSV для анализа файла, а затем просто добавьте код JDBC для вставки в базу данных.

Или просто позвоните Команда импорта MySQL CSV из Java:

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

} catch (IOException e) {
}
1 голос
/ 05 ноября 2010

Ознакомьтесь с ответами на на этот вопрос для чтения строк файла и разбиения их на куски.Я знаю, что вопрос говорит Groovy: но большинство ответов на Java.Затем вставьте значения, которые вы получили через JDBC.

На самом деле, поскольку ваш файл данных, очевидно, CSV, вы можете также использовать CSV-библиотеку, например OpenCSV , чтобы прочитать значения.

0 голосов
/ 05 ноября 2010

Это была бы идеальная работа для Groovy.Вот гистограмма с небольшим скелетным сценарием, основанным на .

0 голосов
/ 05 ноября 2010

вы можете связать свой CSV с Java-бинов с помощью opencsv.http://opencsv.sourceforge.net/

Вы можете сделать эти компоненты постоянными, используя среду ORM, такую ​​как Hibernate, Cayenne или JPA, которые основаны на аннотациях и легко сопоставляют ваши поля с таблицами без создания оператора SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...