问题描述
- mybatis 批量新增时,怎么批量返回自增ID,数据库是mysql
-
各位大侠你们好。。如题。。求解,下面是DAO和SQL:spring Dao的方法定义:
public List saveCatalogList(@Param("catalist") List catalist);?
mybatis的批量插入SQL:
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(#{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})目前这样子执行是报错的,因为mybatis的insert返回类型没有LIST。。求大神指点,我在批量新增时,怎么返回批量的自增ID
?
解决方案
批量插入没办法返回keyid,返回了多个id和你多个object也对不上,如果你想实现这个,可以定义好id直接插进去
解决方案二:
map.xml里resultType="java.util.Map" 返回map
类里边直接 List list = sampleTestReportDao.select(sqlKey, 参数); 用list接收即可