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

标签 java mysql date jpa apache-poi

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

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

21/10/2012 13:20:00

Java

     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)?

干杯

最佳答案

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

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

关于java - 通过 Apache POI 将数据值保存到 mySql 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633834/

相关文章:

date - 如何解决 h :inputText with Date value? 中的 "Conversion Error setting value ' 2013-10-2 6' for ' null Converter'"

SQL 日期如果为 Null 则返回空白

java - 未调用 Android SQLite onUpgrade

JavaFX:如何创建两列按钮?

java - 不裁剪图像的 picasso 圆变换

mysql - Laravel 迁移错误 SQLSTATE[42000]

mysql - 使用 Terraform 创建 AWS MySQL RDS 实例时出错

java - 如何使用结果集从mysql中获取char数据类型

sql输出作为排名

MySQL TIMEDIFF(日期, 日期时间)