Java大牛养成记(6)——将订单提交到数据库出错(Could not insert)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java大牛养成记(6)——将订单提交到数据库出错(Could not insert),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2647字,纯文字阅读大概需要4分钟。
内容图文
![Java大牛养成记(6)——将订单提交到数据库出错(Could not insert)](/upload/InfoBanner/zyjiaocheng/464/57c3eb22302342359b250c648834f4ff.jpg)
背景:SSH视频真是个强大的视频,里面涉及的知识广,符合当今的网商趋势。视频里面的老师思路清晰,分析需求也相当了得。当然,跟着这个视频的思路走,自己很容易理解里面的内容。但是跟着走也能出错,我也是醉了,下面介绍一下我的奇葩经历。
一、问题出世
将订单提交到数据库的时候出现了下面的错误,说什么不能将数据插入到数据库中,刚开始的时候以为是自己写错了,反复查询多遍,但是从vo到dao到service到action,在就是JSP页面、applicationContext.xml和Struts.xml都没有错,到底是怎么回事呢???
二、解决方法
经过和“先人”们交流,明白,不能插入到数据库的原因是:在订单生成时,其时间戳不能正确生成。后来果断换掉原来的代码,然后就成功啦,提交订单的时候同时插入到两张表(order表和orderitem表)中,棒棒哒!
1、在OrderAction.java中写一个获取时间的方法
//获取时间 public static Date getNowDate() throws java.text.ParseException { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(currentTime); Date date1=formatter.parse(dateString); return date1; }
2、在OrderAction.java中调用获取时间的方法,获得订单生成时的当前时间
//生成订单的方法 public String save() throws ParseException{ //1、保存数据到数据库 //订单数据的补全操作 order.setOrdertime(getNowDate()); order.setState(1); //1:待付款 2:已经付款,但是没有发货 3:已经发货,没有确认收货 4:交易完成 //总计的数据是购物车中信息 Cart cart =(Cart) ServletActionContext.getRequest().getSession().getAttribute("cart"); if(cart == null){ this.addActionError("亲,您还没有购物,请先去购物!"); return "msg"; } order.setTotal(cart.getTotal()); //设置订单中的订单项 for (CartItem cartItem : cart.getCartItems()){ OrderItem orderItem = new OrderItem(); orderItem.setCount(cartItem.getCount()); orderItem.setSubtotal(cartItem.getSubtotal()); orderItem.setProduct(cartItem.getProduct()); orderItem.setOrder(order); order.getOrderItems().add(orderItem); } //订单所属的用户 User existUser = (User)ServletActionContext.getRequest().getSession().getAttribute("existUser"); if(existUser == null){ this.addActionError("亲,您还没有登录,请先去登录!"); return "login"; } order.setUser(existUser); orderService.save(order); //2、将订单对象显示到页面上 //通过值栈的方式显示:因为Order显示的对象是模型驱动的对象 //清空购物车 cart.clearCart(); return "saveSuccess"; }
三、提交效果
提交代码后查看数据库,哈哈,订单数据妥妥的在数据库中。
四、学习心得
1、有时候也许不是你的错,但是你可以为遇到的错误找到合理的解决方案。
2、沟通的重要性,没有事情是沟通解决不了的,解决问题的关键性因素就在与沟通。
3、遇到问题不气馁,是良好的生活态度。
Java大牛养成记(6)——将订单提交到数据库出错(Could not insert)
标签:
本文系统来源:http://blog.csdn.net/helijie92902/article/details/51347627
内容总结
以上是互联网集市为您收集整理的Java大牛养成记(6)——将订单提交到数据库出错(Could not insert)全部内容,希望文章能够帮你解决Java大牛养成记(6)——将订单提交到数据库出错(Could not insert)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。