当前位置:编程学习 > JAVA >>

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相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,