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

7kqas0il  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(258)

我是java新手,我正在尝试使用文本文件将数据插入mysql数据库。我的文本文件有5行。我有3个sql insert查询。每个查询将向数据库中插入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, ?, ?, ?);

文本文件示例:
文本文件
下面是我的代码片段。我不知道如何读取文本文件并将其插入数据库。注意,代码只有一个my查询。我正在尝试在添加其他查询之前使一个查询工作。
我正在寻找一些关于阅读文件和日期、开始时间和结束时间的准备语句的建议。
有什么建议吗?

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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题