mybatis新增和批量新增

先上图:

图1 新增一条数据,并返回新增后的主键,没问题。

图2 批量新增,这样写就会报错。刚开始我以为是要 insert into table(id,**,**) values(id,**,**) 这样加上id,结果还是报错。

然后加上

<selectKey resultType="long" keyProperty="id" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>

正确。如图

这里这个ID问题一直困扰我。需不需要加ID。后来经过测试,可以都加,可以都不加,也可以insert不加values加。不可以insert加values不加。

原文地址:https://www.cnblogs.com/bbqing/p/8312650.html

时间: 2024-10-10 18:13:53

mybatis新增和批量新增的相关文章

mybatis 学习笔记(4) —— 批量新增数据

1.业务是从前台传入List<T> ,在controller层接受参数,并进行批量新增操作. 2.需要处理的细节 a) mybatis可以支持批量新增,注意数据表需要将主键设置成自增列. b) 由于spring mvc 无法将参数[{id:0,text:'a'},{id:1,text:'b'}] json字符串转换为对应的List<T>,因此需要自己手动封装一个方法用于将传入的字符串转换为泛型集合 3.具体实现步骤 a) js提交 需要注意的是必须在参数名上加引号 var dept

springboot项目实现批量新增功能

首先是mybatis中的批量新增sql语句.注意:这里我给的是我需要新增的字段,你们改成你们需要的字段. <insert id="insertBatch" > insert into hm_authorization (ID,ROLE_CODE,RES_TYPE_CODE,RES_CODE) values <foreach collection="list" item="item" index="index"

mybatis,批量新增、修改,删除

转载自:http://blog.csdn.net/sanyuesan0000/article/details/19998727 最近需要用到Mybatis批量新增oracle数据库,刚开始在网上找到的方法是都是更新mySQL的,试了一下发现不适合Oracle,后来发现正确的oracle批量新增的sql是: <insert id="insertAttractionsBatch" parameterType="java.util.List"> insert

mybatis oracle 批量新增

假定场景:批量导入用户信息 一般批量新增使用 SELECT … INSERT INTO 和 INSERT INTO … SELECT 我们这次使用第二种 一.先建一张用户信息表模拟批量导入用户信息 create table u_info{ id NUMBER not null, info_no VARCHAR2(32) not null, name VARCHAR2(32) not null, birthday DATE, age NUMBER, create_date DATE not nul

MyBatis批量新增和更新

之前有开发任务一个接口里面有大量的数据新增和更新操作,导致十分缓慢.使用了批量操作之后速度有明显提升,几乎百倍千倍的速度提升. 博主之前统计过,通过普通接口一次数据库插入大概需要200ms,对于大量新增或更新操作的情况,数据库批量操作是十分有必要的.废话不多说,直接上代码. 博主的resultMap如下: <resultMap id="BaseResultMap" type="com.luo.domain.Words" > <id column=&

批量导入是批量修改还是批量新增

1.一般基础数据信息的管理功能包括   新增.修改.删除.查询.导入.导出,比如物料信息维护: 这里说到的导入即相对于新增来说,即批量新增的功能: 2.当我所有的数据信息都完善了的情况下,由于业务的变更,需要给这些基础数据信息新增一个字段信息A:这个时候怎么办? 3.注:在新增.修改.导入模块都增加了字段信息A; 方案1.我做一个批量修改导入的模块,取物料信息的唯一字段标识与要导入的字段A,2列,单独去导入,实现批量修改的功能,用户自己去导入: 方案2.用户提供要导入的信息,包括物料信息的唯一标

批量新增百万条数据 十百万条数据

--创建用户表CREATE TABLE table_1(    id int PRIMARY KEY, -- 主键ID    c1 varchar(24) NOT NULL,-- 列1    c2 datetime NOT NULL -- 列2) -- 批量新增一万条数据CREATE PROCEDURE PROC_INSERT @max int = 1000000, @c1 int = 1as WHILE @c1  <= @maxBEGIN  INSERT INTO Table_1 VALUES

Exchange 2010 (五) 批量新增邮箱

Exchange 2010 (五)批量新增邮箱 在企业中,经常会遇到批量新增邮箱的时候,少量的可以手动添加,量大的话手动就很耗时了,新增时一般会把"下一次登录更改密码"启用,这样密码是自己设置的增加安全性.下面就把批量新增邮箱的步骤写一下. 大致可分为以下几步 注册表启用"登录时更改密码"选项 编辑Excel文件为特定格式 控制台导入邮箱 注册表启用"登录时更改密码"选项 打开客户端访问服务器的注册表 定位到HKEY_LOCAL_MACHINE\

批量新增,每500条数据新增一次

直接上代码 // 商品信息,每500条批量新增一次 if(null != itemList && itemList.size() > 0){ Map<Integer,List<Item>> itemMap = new HashMap<Integer, List<Item>>(); itemMap.put(1, new ArrayList<Item>()); for(Item item : itemList){ List<