关于java与mysql中的时间 Date Datetime Timestamp

今天向数据库中写入信息,表中一列的时间格式是Datetime ,我javabean中封装的类型是util.Date,在向表中插入数据时,一直报错

java.sql.SQLException: Data truncation: Incorrect datetime value: '' for
 column 'ordertime' at row 1 Query: insert into orders
 values(?,?,?,?,?,?,?,?) Parameters: [97A14271B33E41AAABA0CB21224FC61B, 
 Tue Jun 19 20:31:45 CST 2018, 1699.0, 0, null, null, null, 
 37B3E6FBB1A248AF939ACE89428A6A2

我的解决办法是将javabean中的对应的参数类型改成String,用SimpleDateFormat类将util.Date转换成需要的时间格式的字符串,这里我数据库中的时间类型是Datetime ,该类型包含日期和时间(像这样的格式:2018-06-19 20:24:35)。
这样再插入表中就没有问题了。

        Date date = new Date();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s = df.format(date);

s就是我们需要的标准格式的时间字符串,直接使用该字符串插入表中就行了。

你可能感兴趣的:(关于java与mysql中的时间 Date Datetime Timestamp)