1. 程式人生 > >如何獲取數據表中自增主鍵的值

如何獲取數據表中自增主鍵的值

兩個 包含 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>



如何獲取數據表中自增主鍵的值