数据库表的数据类型明明是Integer,为啥我调用方法修改为null时报错呢

Scaarf 2017-05-01 11:15:17
数据库的数据类型明明是Integer ,而且也允许为空,为啥我修改为null报错呢
这是contrlloer中的代码

Bicycle bicycle=new Bicycle();
bicycle.setBicycleId(Integer.parseInt(bicycleId));
bicycle.setCardCode(cardCode);
bicycle.setStatus(1);
bicycle.setPileId(null);
bicycle.setStationId(null);
bicycleServiceImpl.updateBicycleCardCode(bicycle);

这是sql语句

<update id="updateBicycleCardCode" parameterType="com.abc.bicycle.model.Bicycle">
update
bicycle
set
card_code=#{cardCode},
status=#{status},
station_id=#{stationId},
pile_id=#{pileId},
where
bicycle_id=#{bicycleId}
</update>

这是oracle数据库表


报错信息
org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #3 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型
...全文
431 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2017-05-01
  • 打赏
  • 举报
回复
status=#{status}, 修改为 #{status,,jdbcTYPE=CHAR}, 参考http://wksandy.iteye.com/blog/1443133
tianfang 2017-05-01
  • 打赏
  • 举报
回复
station_id, 试试用0做缺省值
Scaarf 2017-05-01
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
bicycle_code没有设置值,为空了
不是这个问题啊,我是修改,不是添加啊,我没修改bicycle_code啊
Scaarf 2017-05-01
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
bicycle_code没有设置值,为空了
额,好吧。。。。
tianfang 2017-05-01
  • 打赏
  • 举报
回复
bicycle_code没有设置值,为空了

67,515

社区成员

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

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