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


一、MySql數據庫

  當向數據庫中插入一條數據的時候,默認是拿不到自增主鍵的值的, 需要設置如下兩個屬性才可以拿到主鍵值!

  設置userGeneratedKeys屬性值為true:使用自動增長的主鍵。使用keyProperty設置把主鍵值設置給哪一個屬性

<insert id="addEmp" parameterType="com.neuedu.mybatis.bean.Employee" useGeneratedKeys="true" keyProperty="id" databaseId="mysql">
   insert into tbl_employee(last_name,email,gender) 
   values(#{lastName},#{gender},#{email})
</insert>

  

二、Oracle數據庫

  1、需要在oracle數據庫中創建自增序列

      create sequence emp_seq
      start with 1;

   2、在sql映射文件中配置:

      order="BEFORE" :設置selectKey中包含的語句先執行

      resultType:指定返回類型

      keyProperty:將返回值賦值給指定的列

<!-- Oracle數據庫獲取主鍵自增 -->
  <insert id="insert" databaseId="oracle">
    <selectKey keyProperty="id" resultType="int" order="before">
      select emp_seq.nextval from dual
    </selectKey>
    insert into tbl_emp values(#{id},#{lastName},#{gender},#{email})
  </insert>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM