通过Apache POI将数据值保存到mySql数据库中

时间:2013-03-26 09:45:32

标签: java mysql date jpa apache-poi

我正在使用Apache POI读取excel数据集和JPA以持久存储到数据库中。这是正常工作,除了我需要使用相同的方法正确地获取一组日期/时间值到数据库(读入apache poi,然后坚持到数据库)。目前我使用的是SimpleDateFormat,它实际上并没有任何用处。我们需要查询此列,因此我需要在数据库中理想地使用mySQL日期。

时间/日期列的数据集示例

21/10/2012 13:20:00

爪哇

     Sheet sheet1 = wb.getSheetAt(0);

        String dateTimeFormat = "dd/MM/yyyy HH:mm:ss";
        SimpleDateFormat dateFormat = new SimpleDateFormat(dateTimeFormat);


        for (int i = 1; i <= sheet1 .getLastRowNum(); i++) {

            row = sheet1 .getRow(i);
            String sheet1Id = i+"";

            double excelDateTime = row.getCell(0).getNumericCellValue();
            Date javaDateTime=HSSFDateUtil.getJavaDate(excelDateTime,false);
            String dateTime = dateFormat.format(javaDateTime);

            Table1 sheet1=new Table1 (sheet1Id ,dateTime)
            addToDatabase(table1); 

        }

对此的任何解决方案以及关于在mySQL数据库中创建此列的最佳方法的任何建议(该列目前是varchar)?

干杯

1 个答案:

答案 0 :(得分:2)

使用JPA / JDBC时,java.util.Date对应于DATETIME列(或TIMESTAMP,或DATE,请参阅MySQL-manual以了解它们的细微差别)。由于您已直接从HSSFDateUtil获取Date对象,因此无需进一步转换。

PS:你为什么不直接使用HSSFCell.getDateCellValue()