SpringMVC接收页面参数导致数据库报错的问题求教

椪柑 2014-08-09 01:46:39

@RequestMapping(value = "/addgoods.jspx", method = RequestMethod.POST)
public String stockin(GoodsInfo goods) {
boolean flag = miShopService.addgoods(goods);
return null;
}


将页面数据封装到GoodsInfo实体,然后插入数据库
INSERT INTO mishop.goods (NAME,CODE) VALUES (?,?)

报错:
HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO mishop.goods (NAME,CODE) VALUES (?,?)]; Data truncation: Data too long for column 'code' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'code' at row 1

数据库code字段的为varchar(100),页面接收的是数据是"0001",明显没有超长。GoodsInfo实体中code的类型也是String

页面编码格式为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

数据库和数据库表的编码格式都是UTF-8 utf8_general_ci,引擎为InnoDB.

求教大神这是怎么回事?求解决方法,叩谢。
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
椪柑 2014-08-15
  • 打赏
  • 举报
回复
引用 1 楼 u012345283 的回复:
没碰到过这种问题,提供下我的思路给楼主参考吧 1、System.out.println(goods.getCode())看看接参到底有没有问题 2、拿sql去数据库里执行看看有没有问题 3、再看看编码问题,是不是都统一编码了 4、以上都不行再来求助
已经解决了,哈哈,我getCode()的时候,选择提示的方法,选错了,弄成getClass()了
loveunittesting 2014-08-12
  • 打赏
  • 举报
回复
页面接收的是数据是"0001"?这是你在后台调试看到的结果吗?
attilax 2014-08-11
  • 打赏
  • 举报
回复
远程调试一下就ok...
百里马 2014-08-09
  • 打赏
  • 举报
回复
没碰到过这种问题,提供下我的思路给楼主参考吧 1、System.out.println(goods.getCode())看看接参到底有没有问题 2、拿sql去数据库里执行看看有没有问题 3、再看看编码问题,是不是都统一编码了 4、以上都不行再来求助

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧