开发者社区> 问答> 正文

mybaitis批量插入怎么得到批量返回的自增ID?报错

各位大侠你们好。。如题。。求解,下面是DAO和SQL:

spring Dao的方法定义:

 public List<Catalog> saveCatalogList(@Param("catalist") List<Catalog> catalist);

mybatis的批量插入SQL:

<insert id="saveCatalogList" parameterType="java.util.List"  keyColumn="Catalog_ID" >
insert into CATALOG 
(Marc_Type,Catalog_State,Doc_Type,LANG_CODE,Country_Code,Catalog_Title,
Catalog_Author,Publisher,Publisher_Year,isbn,cip,Created_By,Last_Updated_By,Date_Created,catatype,callno,price) 
values
<foreach collection="catalist" item="item" index="index" separator=","> 
(#{item.marcType}, #{item.CatalogState}, #{item.docType}, #{item.lang}, #{item.country}, #{item.title},
#{item.author}, #{item.publisher}, #{item.publisherYear},#{item.isbn},#{item.cip},#{item.CreatedBy.id},
#{item.UpdatedBy.id},sysdate(),#{item.cataType},#{item.callNo},#{item.price})
        </foreach>  

</insert>

目前这样子执行是报错的,因为mybatis的insert返回类型没有LIST。。求大神指点,我在批量新增时,怎么返回批量的自增ID

展开
收起
爱吃鱼的程序员 2020-06-12 10:35:03 523 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你没有指定返回类型resultType 

    <insertid="saveCatalogList"parameterType="java.util.List" keyColumn="Catalog_ID" resultType=" Catalog"  >

    保存一般返回一个int就可以了。

    @心心相印没加过,一般默认用int接收的。哥。。insert可以加resultType属性?? <insert>标签改成<select>标签就可以了。
    2020-06-12 10:35:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载