在调试项目的时候,报了一个错:
Caused by: java.sql.BatchUpdateException: Data truncation: Incorrect datetime value: '' for column 'pdate' at row 1 项目是从别的地方拷过来的。场景是这样的:在增加一个商品和编辑一个商品后,点击保存就报了如上错误。
很明显是pdate这个值为空。
于是在action中找到这个保存的方法,如下:
// 修改商品的方法 public String update() throws IOException { // 将信息修改到数据库 product.setPdate(new Date()); // 上传: if(upload != null ){ String delPath = ServletActionContext.getServletContext().getRealPath( "/" + product.getImage()); File file = new File(delPath); file.delete(); // 获得上传图片的服务器端路径. String path = ServletActionContext.getServletContext().getRealPath( "/products"); // 创建文件类型对象: File diskFile = new File(path + "//" + uploadFileName); // 文件上传: FileUtils.copyFile(upload, diskFile); product.setImage("products/" + uploadFileName); } productService.update(product); // 页面跳转 return "updateSuccess"; } pdate属性有默认值,打断点也有值。这就奇怪了,于是又在网上查了一波,换个最新版的mysql连接jar包,可以解决这个问题。
原先的jar包是mysql-connector-java-5.0.4-bin.jar
换成mysql-connector-java-5.1.35-bin.jar包就好了。
下载地址如下:
http://download.csdn.net/detail/hoho_12/9778600
不过有一个问题很奇怪,为什么myeclipse中没有尾巴的断点打了没用,那种带小尾巴的断点才好使,这个问题一直困扰着我。