Mybatis 插入后返回数据库自动增长ID
Posted JustDo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis 插入后返回数据库自动增长ID相关的知识,希望对你有一定的参考价值。
MySQL和MSSQL返回主键方法
在personMap.xml中
<insert id="addPerson" parameterType="orm.Person" keyProperty="id" useGeneratedKeys="true"> insert into Person (name,age,gender) values (#{name},#{age},#{gender}) </insert>
调用插入方法,将mybatis返回的自动增长ID自动返回给id属性
SqlSession session =DBUtils.getSqlSession(); Person p=new Person(); p.setName("caoyc"); p.setAge((byte)18); p.setGender("男"); System.out.println(session.insert("orm.personMapper.addPerson",p));; session.commit(); session.close(); System.out.println(p.getId());
通过实体对象p.getId():就可以获取插入后该记录的id了
Oracle数据
<insert id="addPerson" parameterType="orm.Person" > <selectKey resultType="java.long.Integer" keyProperty="id" order="BEFORE"> select idauto.nextval from dual </selectKey> insert into Person (id,name,age,gender) values (#{id},#{name},#{age},#{gender}) </insert>
以上是关于Mybatis 插入后返回数据库自动增长ID的主要内容,如果未能解决你的问题,请参考以下文章
mybatis怎样批量插入数据到oracle,就算id自动增长问题
Mybatis+Mysql插入数据库返回自增主键id值的三种方法