【SSH网上商城】Incorrect datetime value: '' for column 'ordertime' at row 1

【项目说明】

在做网上商城的项目的时候,向数据库中插入数据插不进去,显示ordertime(ordertime为提交订单的日期)的错误,查看了一下数据库中的ordertime格式为2016-07-07 20:18:00,需要引用的也都引用了, 具体错误提示:

【错误提示】

ERROR JDBCExceptionReporter:234 - Data truncation: Incorrectdatetime value: '' for column 'ordertime' at row 1

org.springframework.dao.DataIntegrityViolationException:could not insert: [com.gxa.bj.order.vo.Order]; SQLinsert into orders (total, ordertime, state, name, addr, phone, uid) values(?, ?, ?, ?, ?, ?, ?) nested exception isorg.hibernate.exception.DataException: could not insert:[com.gxa.bj.order.vo.Order]


【解决方案】

遇到问题后查到了几种解决方案:

方法一:

在jdbc里添加“&useOldAliasMetadataBehavior=true”

添加了以后还是没有解决,排除!

方法二:

错误原因:一般是数据库表中的字段包含了数据库的关键字(保留字)
处理方法:修改数据库中和关键字产生冲突的字段名,重新映射字段名和bean中的类名

查询了一下发现没有冲突的字段名,排除!

方法三:

ordertime使用SimpleDateFormat进行转换,转换成和数据库一致的格式:yyyy-MM-dd hh:mm:ss

先看原代码如下:

//生成订单方法
public String save() throws ParseException{
//保存数据到时数据库
//订单数据加入
 order.setOrdertime(date3);

改后的代码:

//生成订单方法
public String save() throws ParseException{
//保存数据到时数据库
//订单数据加入
//转化时间格式
Date date=new Date();                             
         SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
         String date2=temp.format(date);  
         Date date3=temp.parse(date2);  
        order.setOrdertime(date3);

我用了第三种方法解决了问题

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值