如何使用Java更改要在MySql中存储为yyyy-mm-dd的mm-dd-yyyy

数据存在于 csv 文件中。我正在使用 CSVReader 读取每一行,然后将相应的值存储在数据库中。因此,在读取字符串时,我使用“-”(日期格式类似于 01-02-1997)拆分日期字符串并存储在数组中,然后交换数组的三个元素并将其存储回数据库中。有没有更好的办法。


csv 文件中的示例行数据:


10001   MICHELLE    VILLEGAS3   Savings SRINATH MICHELLE.VILLEGAS3@NOBODY.COM   Y   10-7-18 1050 WEST FIFTH STREET      AZUSA   IND 917023308

它仅以逗号分隔。


private static void readCsv(String tableName) throws FileNotFoundException, IOException, SQLException {

    CSVReader csvreader = null;


    try{

        Reader reader = Files.newBufferedReader(Paths.get(filePath));

        csvreader = new CSVReaderBuilder(reader).withSkipLines(1).build();

        sql = "insert into ? values (?,?,?,?,?,?,?,?,?,?,?,?,?)";

        ManageDBResource.createConnectionToDB();

        pstmt = ManageDBResource.conn.prepareStatement(sql);

        pstmt.setString(1, tableName);


        String[] rowData = null;


        while((rowData = csvreader.readNext()) != null) {


            int i = 2;


            for (String data : rowData) {


                if(i == 8 && data != null && rowData[12] != "IND") {

                    String[] date = data.split("-");

                    String temp = date[0];

                    date[0] = date[1];

                    date[1] = temp;

                }

                pstmt.setString(i++,data);

                //System.out.print(data + " ");

            }

            //System.out.println();

        }

        int result = pstmt.executeUpdate();

        if(result == 1) {

            System.out.println("Data loaded Successfully.");


        }

    }

    finally {

        pstmt.close();

        csvreader.close();

    }

我究竟如何在 java 程序中使用 STR_TO_DATE() 函数。抱歉,我是编程新手,感谢您的帮助。


蛊毒传说
浏览 249回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java