如何獲取數據表中自增主鍵的值
阿新 • • 發佈:2017-12-22
兩個 包含 enc gpo into int acl sql emp
一、MySql數據庫
當向數據庫中插入一條數據的時候,默認是拿不到自增主鍵的值的, 需要設置如下兩個屬性才可以拿到主鍵值!
設置userGeneratedKeys屬性值為true:使用自動增長的主鍵。使用keyProperty設置把主鍵值設置給哪一個屬性
1 <insert id="addEmp" parameterType="com.neuedu.mybatis.bean.Employee" useGeneratedKeys="true" keyProperty="id" databaseId="mysql">
2 insert into tbl_employee(last_name,email,gender)
3 values(#{lastName},#{gender},#{email})
4 </insert>
二、Oracle數據庫
1、需要在oracle數據庫中創建自增序列
create sequence emp_seq
start with 1;
2、在sql映射文件中配置:
order="BEFORE" :設置selectKey中包含的語句先執行
resultType:指定返回類型
keyProperty:將返回值賦值給指定的列
1 <!-- Oracle數據庫獲取主鍵自增 -->
2 <insert id="insert" databaseId="oracle">
3 <selectKey keyProperty="id" resultType="int" order="before">
4 select emp_seq.nextval from dual
5 </selectKey>
6 insert into tbl_emp values(#{id},#{lastName},#{gender},#{email})
7 </insert>
如何獲取數據表中自增主鍵的值