我正在使用 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/