mybatis批量插入时报错

youzipan 2013-09-11 05:21:02
xml配置如下:
<insert id="addImageList">
insert into product_show_image (id,show_id,show_image,create_name,update_name,state,deleted)
values
<foreach collection="imagelist" item="item" index="index" separator=",">
(null,#{item.showId},#{item.showImage},#{item.createName},#{item.updateName},#{item.state},#{item.rank},#{item.deleted})
</foreach>
</insert>

dao:
public void addImageList(@Param("imagelist")List<ProductShowImage> imagelist);

报错:
There is no getter for property named '' in 'class com.baai.bean.product.ProductShowImage',named里面是空,不知道什么情况,数据库用的是mysql
...全文
461 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tmxkprc 2013-10-30
  • 打赏
  • 举报
回复
目前解决我的类似问题,是因为有参数名和实体类中的属性名不一致,大小写错了
youzipan 2013-10-29
  • 打赏
  • 举报
回复
引用 8 楼 meiwenhui 的回复:
把SQL语句打印出来,直接执行,看报什么错,这样就比较好解决了
直接执行没错
meiwenhui 2013-10-29
  • 打赏
  • 举报
回复
把SQL语句打印出来,直接执行,看报什么错,这样就比较好解决了
tmxkprc 2013-10-29
  • 打赏
  • 举报
回复
有没有解决啊 刚遇到
28号怪人 2013-09-18
  • 打赏
  • 举报
回复
引用 5 楼 youzipan 的回复:
引用 3 楼 hanyi1128 的回复:
mybatis不能直接插入null值吧,为空时要指定数据类型。如#{name,jdbcType=VARCHAR}
好像指定了也还是报这样的错,,,
你的入参里面有没有name,就算 空,在参数传递的时候也要传进去才能用这种方式。如果没有传这个参数,需要用if判断一下
youzipan 2013-09-15
  • 打赏
  • 举报
回复
引用 3 楼 hanyi1128 的回复:
mybatis不能直接插入null值吧,为空时要指定数据类型。如#{name,jdbcType=VARCHAR}
好像指定了也还是报这样的错,,,
youzipan 2013-09-15
  • 打赏
  • 举报
回复
引用 2 楼 hjw506848887 的回复:
[quote=引用 楼主 youzipan 的回复:] xml配置如下: <insert id="addImageList"> insert into product_show_image (id,show_id,show_image,create_name,update_name,state,deleted) values <foreach collection="imagelist" item="item" index="index" separator=","> (null,#{item.showId},#{item.showImage},#{item.createName},#{item.updateName},#{item.state},#{item.rank},#{item.deleted}) </foreach> </insert> dao: public void addImageList(@Param("imagelist")List<ProductShowImage> imagelist); 报错: There is no getter for property named '' in 'class com.baai.bean.product.ProductShowImage',named里面是空,不知道什么情况,数据库用的是mysql
不是named为空,是ProductShowImage为空,看看你的imagelist里有没有数据啊。。。[/quote] debug显示有值的,,,,
28号怪人 2013-09-12
  • 打赏
  • 举报
回复
mybatis不能直接插入null值吧,为空时要指定数据类型。如#{name,jdbcType=VARCHAR}
  • 打赏
  • 举报
回复
引用 楼主 youzipan 的回复:
xml配置如下: <insert id="addImageList"> insert into product_show_image (id,show_id,show_image,create_name,update_name,state,deleted) values <foreach collection="imagelist" item="item" index="index" separator=","> (null,#{item.showId},#{item.showImage},#{item.createName},#{item.updateName},#{item.state},#{item.rank},#{item.deleted}) </foreach> </insert> dao: public void addImageList(@Param("imagelist")List<ProductShowImage> imagelist); 报错: There is no getter for property named '' in 'class com.baai.bean.product.ProductShowImage',named里面是空,不知道什么情况,数据库用的是mysql
不是named为空,是ProductShowImage为空,看看你的imagelist里有没有数据啊。。。
youzipan 2013-09-11
  • 打赏
  • 举报
回复
有人没有啊~~

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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