mybatis批量插入时报错
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
mybatis
--------------------编程问答--------------------
有人没有啊~~
--------------------编程问答--------------------
引用 楼主 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里有没有数据啊。。。
--------------------编程问答--------------------
mybatis不能直接插入null值吧,为空时要指定数据类型。如#{name,jdbcType=VARCHAR}
--------------------编程问答--------------------
引用 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里有没有数据啊。。。
debug显示有值的,,,,
--------------------编程问答--------------------
引用 3 楼 hanyi1128 的回复: mybatis不能直接插入null值吧,为空时要指定数据类型。如#{name,jdbcType=VARCHAR} 好像指定了也还是报这样的错,,,
--------------------编程问答--------------------
引用 5 楼 youzipan 的回复: Quote: 引用 3 楼 hanyi1128 的回复:
mybatis不能直接插入null值吧,为空时要指定数据类型。如#{name,jdbcType=VARCHAR} 好像指定了也还是报这样的错,,,
你的入参里面有没有name,就算 空,在参数传递的时候也要传进去才能用这种方式。如果没有传这个参数,需要用if判断一下
--------------------编程问答--------------------
有没有解决啊 刚遇到
--------------------编程问答--------------------
把SQL语句打印出来,直接执行,看报什么错,这样就比较好解决了
--------------------编程问答--------------------
引用 8 楼 meiwenhui 的回复: 把SQL语句打印出来,直接执行,看报什么错,这样就比较好解决了 直接执行没错
--------------------编程问答--------------------
目前解决我的类似问题,是因为有参数名和实体类中的属性名不一致,大小写错了
补充: Java , Java相关