org.springframework.dao.DataIntegrityViolationException:couldnotinsert错误解决办法

关于:

org.springframework.dao.dataintegrityviolationexception: could not insert:

1、含有可能是字段在对应的时候出错了,所以建议你检查你的字段与字段的对应,特别是类型的对应。

很可能是你的javabean文件(m层),没有生成class文件(任何java语言只有通过编译生成字节码才能运行包括被其他的程序调用,在这里是被 调用)然后正确的放入规定的web—inf/classes文件夹下。(注意:如果引入包的话在usebean中一定记得指出包名,如:包名.类名)。

解决方法:将编译成功的class文件放入指定的文件夹下(若引入包则放在包里)。

到这里应该你的表单输入能够完成数据的处理证明已经能够成功的和你的javabean交互,你已经成功了一半。(如果你实现的是用户登录验证,你可以在你的jsp中通过选择(if)一个在bean文件中方法返回的用户名和密码错误(false)的信息判断,在中显示出来。注意:正确的用户验证只能在servle(控制层)中确定它的分支流向。)

2、页面报错误:

http status 500 –

type?exception report

message?

description?the server encountered an internal error () that prevented it from fulfilling this request.

exception?

org.springframework.dao.dataintegrityviolationexception: could not insert: [cn.lionking.shop.order.order]; sql [insert into orders (total, ordertime, state, addr, phone, name, uid) values (?, ?, ?, ?, ?, ?, ?)]; nested exception is org.hibernate.exception.dataexception: could not insert: [cn.lionking.shop.order.order]

org.springframework.orm.hibernate3.sessionfactoryutils.converthibernateaccessexception(sessionfactoryutils.java:648)

org.springframework.orm.hibernate3.hibernateaccessor.converthibernateaccessexception(hibernateaccessor.java:412)

org.springframework.orm.hibernate3.hibernatetemplate.doexecute(hibernatetemplate.java:411)

org.springframework.orm.hibernate3.hibernatetemplate.executewithnativesession(hibernatetemplate.java:374)

org.springframework.orm.hibernate3.hibernatetemplate.save(hibernatetemplate.java:683)

控制台报:

incorrect datetime value: ” for column ‘ordertime’ at row 1

我在写一个购物商城的订单表时,在添加ordertime项时,出现这个错误。

开始检查了orders表的创建过程中的,没有发现错误,order.java的字段也与数据库中的一致。可是一直出现无法inserted order表,后来明白是mysql-connector-java的jar包的问题。我的my是5.7版本,我的项目导入数据库包mysql-connector-java-5.0.4-bin.jar

换成mysql-connector-java-5.1.34-bin.jar问题解决。

赶紧去试一下吧!!!

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐