Как прочитать файл данных и вставить данные в базу данных MySQL - PullRequest
0 голосов
/ 03 июня 2018

Я новичок в Java и пытаюсь вставить данные в базу данных mysql с помощью текстового файла.Мой текстовый файл имеет 5 строк.У меня есть 3 запроса на вставку SQL.Каждый запрос будет вставлять 5 строк в базу данных.

Примеры запросов:

INSERT INTO `session` (`emp`, `SessionID`, `SessionDate`, `SessionStartTime`, 'SessionEndTime') VALUES (Tyler, NULL, ?, ?, ?);

INSERT INTO `session` (`emp`, `SessionID`, `SessionDate`, `SessionStartTime`,'SessionEndTime') VALUES (MAX, NULL, ?, ?, ?);

INSERT INTO `session` (`emp`, `SessionID`, `SessionDate`, `SessionStartTime`,'SessionEndTime') VALUES (James, NULL, ?, ?, ?);

Пример текстового файла:

textfile

Вот фрагмент моего кода.У меня возникли проблемы с выяснением, как прочитать текстовый файл и вставить его в базу данных.Обратите внимание, что в коде есть только один мой запрос.Я пытаюсь заставить один запрос работать, прежде чем добавлять другие.

Я ищу несколько советов по чтению файла и подготовленных утверждений для даты, времени начала и окончания.

есть предложения?

try 
    {
        //Create a mysql database connection

        String dbUrl = "jdbc:mysql://localhost:3306/mytest";        
        String username = "root";      //Database Username          
        String password = "abcdefg";  //Database Password
        Class.forName("com.mysql.jdbc.Driver");     //Load mysql jdbc driver        
        Connection con = DriverManager.getConnection(dbUrl,username,password);  //Create Connection to DB   


     // mysql query to insert data into session table

        String query = " INSERT INTO `session` (`emp`, `SessionID`, 
        `SessionDate`, `SessionStartTime`) VALUES (Tyler, NULL, ?, ?, ?);     

        try { 
            BufferedReader bReader = new BufferedReader(newFileReader("c:/sessionstime"));

            String line = ""; 

            while ((line = bReader.readLine()) != null) 
               {
                try 
                   {

                      if (line != null) 
                         {
                            String[] array = line.split(",");
                            for(String result:array)
                               {


     // create mysql insert preparedstatement
          PreparedStatement preparedStmt = con.prepareStatement(query);

          preparedStmt.setDate   (1, sessiondate[0]);
          preparedStmt.setTime   (2, sessionstarttime[1]);
          preparedStmt.setTime   (3, sessionendtime[2]);
          preparedStmt.addBatch();



     // execute the preparedstatement
          preparedStmt.executeBatch();

     // close database connection     
          con.close();
        }
        catch (Exception e)
        {
          System.err.println("Got an exception!");
          System.err.println(e.getMessage());
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...