Mybatis+Mysql插入数据库返回自增主键id值的三种方法
时间:2021-07-01 10:21:17
帮助过:21人阅读
- Integer insertBatchReturnId(Batch batch);
xml的sql语句写法
记得加上useGeneratedKeys和keyProperty配置即可,前者是指设置是否使用jdbc的getGenereatedKeys方法获取主键并赋值到keyProperty设置的属性中,后者即实体类主键字段(并且大小写要对应上)
[html] view plain
copy
- <insert id="insertBatchReturnId" useGeneratedKeys="true" keyProperty="id" parameterType="org.uz.dxt.model.bankbase.Batch" >
-
- insert into t_batch (
- batchCode,
- bankCode,
- bizType,
- companyCode,
- wtEndDate,
- wtDate,
- contractId,
- totalCount,
- totalBase,
- handCode)
- values
- ( #{batchcode},
- #{bankcode},
- #{biztype},
- #{companycode},
- #{wtenddate},
- #{wtdate},
- #{contractid},
- #{totalcount},
- #{totalbase},
- #{handCode})
- </insert>
controller的实际应用:使用方法id会直接将映射到参数的实体上使用时直接使用参数的实体get获取值
[java] view plain
copy
- batchService.insertBatch(param);
- idlist.add(param.getId());
第三种:sql语句使用<selectKey>获取自增逐渐id
[html] view plain
copy
- <insert id="add" parameterType="EStudent">
- // 下面是SQLServer获取最近一次插入记录的主键值的方式
- <selectKey resultType="_long" keyProperty="id" order="AFTER">
- select @@IDENTITY as id
- </selectKey>
- insert into TStudent(name, age) values(#{name}, #{age})
- </insert>
使用用法同上
这里推荐使用第一种和第二种中方法
第三种方法对oracl额外的配置
controller的实际应用:使用方法id会直接将映射到参数的实体上使用时直接使用参数的实体get获取值
Mybatis+Mysql插入数据库返回自增主键id值的三种方法
标签:values target 相关 sdn ice dao层 序列 integer 大小写