ERROR JDBCExceptionReporter:234 - Data truncation: Incorrect datetime value: '' for column 'ordertim

1、ERROR JDBCExceptionReporter:234 - Data truncation: Incorrect datetime value: '' for column 'ordertim
ERROR Dispatcher:38 - Exception occurred during processing request: could not insert: [cn.itcast.shop.order.vo.Order]; SQL [insert into orders (total, ordertime, state, name, phone, addr, uid) values (?, ?, ?, ?, ?, ?, ?)]; nested exception is org.hibernate.exception.DataException: could not insert: [cn.itcast.shop.order.vo.Order]
org.springframework.dao.DataIntegrityViolationException:could not insert: [cn.itcast.shop.order.vo.Order]; 

    个人理解是:类中数据类型和数据库中的数据类型映射不统一。这个错误通常出现在数据类型为Date时报错.

首先排除法:1、查看hibernate实体映射文件数据类型是否和数据库字段设计一样。

    数据库字段设计:

名: examDate   类型: datetime

    实体数据类型:

private Date examDate; // 考试时间

    实体映射文件:

 <property name="examDate" type="java.util.Date"></property>

如果以上一致就可能是下面的原因!

2.MySql的JDBC的驱动包版本太低!!!!

两个同学用的都是mysql-connector-java-5.0.4-bin-jar包。版本太低不支持数据库datetime数据类型。把MySql的JDBC驱动包换成mysql-connector-java-5.1.x-bin-jar的版本完美解决问题!我用的版本如下:

mysql-connector-java-5.1.7-bin-jar

因为这个错误出现多次。总结一下加深印象,第一次写博客,以后也会把自己日常学习中出现的问题分享总结一下。

行走在码农道路上的小白,多多指教。技术有限,如有错误欢迎留言!谢谢!@wwweia

猜你喜欢

转载自blog.csdn.net/qq_41192690/article/details/80658661
今日推荐