如何读取数据文件并将数据插入mysql数据库

时间:2018-06-03 04:33:10

标签: mysql insert

我是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());
        }

0 个答案:

没有答案