Java Mysql驱动程序随机返回不正确的值

时间:2018-02-27 12:30:52

标签: java mysql jdbc

我正在使用DATETIMEResultSet读取getString列并将其转换为java.util.Datejava.time.ZonedDateTime。通常,getString返回datetime值或返回null(如果value实际上为null)但有时随机地getString返回一个空字符串(非null),导致解析失败并抛出异常。这种情况只发生在每1000次中的一次或类似的数据集中。

我一直无法追查问题,并且导致生产系统出错。可能是什么问题?

我正在使用Mysql Java驱动程序版本6.0.6和Java 8.

编辑:

Java代码:

String temp = result.getString("dateTimeField");
mDateTimeField = (temp != null)? MysqlTimeHelper.mysqlDateTimeToDate(temp) : null;

MysqlTimeHelper:

private static final SimpleDateFormat FORMAT_MYSQL_DATETIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

public static Date mysqlDateTimeToDate(String dateTime) {
    try {
        return FORMAT_MYSQL_DATETIME.parse(dateTime);
    } catch (ParseException ex) {
        return null;
    }
}

0 个答案:

没有答案