MyBatis
获取主键分为获取自增主键和非自增主键,这里用 MySQL
代表自增主键,用 Oracle
代表非自增主键
MySQL
保存并获取主键
1
2
3
<insert id="addEmp" keyProperty="id" useGeneratedKeys="true" databaseId="mysql">
insert into tbl_employee(last_name,gender,email) values(#{lastName},#{gender},#{email})
</insert>
Oracle
保存并获取主键
先获取主键再插入记录
1
2
3
4
5
6
<insert id="addEmp" databaseId="oracle" >
<selectKey keyProperty="id" resultType="Integer" order="BEFORE">
select emp_seq.nextval from dual
</selectKey>
insert into emp(id,last_name,email) values(#{id},#{lastName},#{email})
</insert>
先插入记录再获取主键
1
2
3
4
5
6
<insert id="addEmp" databaseId="oracle" >
<selectKey keyProperty="id" resultType="Integer" order="AFTER">
select emp_seq.currval from dual
</selectKey>
insert into emp(id,last_name,email) values(emp_seq.nextval,#{lastName},#{email})
</insert>