spring-mybatis 批量新增时,怎么批量返回自增ID,数据库是mysql

问题描述

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接收即可

时间: 2025-01-02 22:51:38

spring-mybatis 批量新增时,怎么批量返回自增ID,数据库是mysql的相关文章

struts2+spring+mybatis 程序不报错,但是数据无法写入数据库

问题描述 struts2+spring+mybatis 程序不报错,但是数据无法写入数据库 执行到service 无法写入数据库,不报错.代码如下: <?xml version=""1.0"" encoding=""utf-8"" ?><!DOCTYPE mapper PUBLIC ""-//mybatis.org//DTD Mapper 3.0//EN""http:/

CS结构混合编程 新增时 把textbox中内容保存到数据库对应字段

问题描述 前台为嵌入式C后台c++由于该字段是备注信息太长不在gridview里面进行操作,查询新增修改等操作都在textbox里面进行.表名为hdys01,字段名remark.现在想请问下在测试环境的gridview里面新增一条记录的时候,其他都能保存,就是textbox里面内容怎么保存到数据库对应的字段?代码应该写在前台还是后台,哪个位置.我们前台格式为查询函数.画面载入.按钮区.最好能给出详细的代码,谢谢各位 解决方案 解决方案二:新增时:在保存前加上这样的语句:DataTabledt=d

Mysql INSERT数据并返回返回自增ID

如何返回插入一条数据,该数据自增ID的ID号? PHP 函数 mysql_insert_id() 是返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值.  示例代码  代码如下 复制代码 <?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) {     die('Could not connect: ' . mysql_error());

ibatis-IBATIS像mysql中批量新增问题

问题描述 IBATIS像mysql中批量新增问题 这是ibatis sqlmap中的 sql parameterClass="com.spci.po.MemberMerchant"> <![CDATA[ insert INTO t_member_credit (ID,MEMBER_ID,TRADE_ID,BALANCE) VALUES (#id#,#memberId#,#tradeId#,#balance#) ON DUPLICATE KEY UPDATE BALANCE=

异常信息乱码-ssh框架;事务配置在service层,批量插入时违反唯一约束;返回的异常信息中有乱码 如下

问题描述 ssh框架:事务配置在service层,批量插入时违反唯一约束:返回的异常信息中有乱码 如下 org.springframework.dao.DataIntegrityViolationException: Duplicate entry '?-?R' for key 'num'; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException:

MyBatis批量新增和更新

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 之前有开发任务一个接口里面有大量的数据新增和更新操作,导致十分缓慢.使用了批量操作之后速度有明显提升,几乎百倍千倍的速度提升. 博主之前统计过,通过普通接口一次数据库插入大概需要200ms,对于大量新增或更新操作的情况,数据库批量操作是十分有必要的.废话不多说,直接上代码. 博主的resultMap如下: <resultMap id="BaseResultMap&qu

Word制作商务邀请函时怎么批量加入客户信息

  Word制作商务邀请函时怎么批量加入客户信息           选择联系人 利用Word 2010中强大的"邮件合并"功能,小黄可以在客户邀请函中轻松将存储在Outlook联系人中的客户批量添加过来. 1. 在制作好的客户邀请函文档中,切换到"邮件"选项卡,在"开始邮件合并"选项组中,单击[选择收件人]按钮,并在随即打开的下拉列表中执行[从Outlook联系人中选择]命令,如图1所示. 图1 从Outlook联系人中选择 2. 在随即打开的

并发-请教一个mysql批量更新时的deadlock问题?

问题描述 请教一个mysql批量更新时的deadlock问题? 数据是mysql 5.6 表引擎是innoDB,DAO是mybatis3 有个表,比如是订单-物品表,里面保存每个订单的所有物品清单 字段有:record_id(记录id,自增长),order_id(订单id),good_id(物品id)等其他字段.. 有个数据同步的业务场景 需要在一个事务里 先根据order_id做删除操作,delete from xxx where order_id=xx 然后再批量增加订单-物品清单inser

mybatis 向oracle 采用foearch批量插入,如果包含clob字段报错

问题描述 mybatis 向oracle 采用foearch批量插入,如果包含clob字段报错 mybatis 向oracle 采用foearch批量插入 如下代码: insert into (id,name,clobs) SELECT #{item.id},#{item.name},#{item.clobs} FROM DUAL 报错信息:仅能绑定要插入 LONG 列的 LONG 值 可是如果采用普通的insert into (id,name,clobs) values(#{id},#{nam