<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] SelectKey在Mybatis中是為了解決Insert數據時不支持主鍵自動生成的問題,他可以很隨意的設置生成主鍵的方式。 ## 1. SelectKey標簽屬性: ### 1.1 keyProperty selectKey 語句結果應該被設置的目標屬性 ### 1.2 resultType 結果的類型。MyBatis 通常可以算出來,但是寫上也沒有問題。MyBatis 允許任何簡單類型用作主鍵的類型,包括字符串。 ### 1.3 order 1. 這可以被設置為 BEFORE 或 AFTER。如果設置為 BEFORE,那么它會首先選擇主鍵,設置 keyProperty 然后執行插入語句。如果設置為 AFTER,那么先執行插入語句,然后是 selectKey 元素-這和如 Oracle 數據庫相似,可以在插入語句中嵌入序列調用 2. SelectKey需要注意order屬性,像Mysql一類支持自動增長類型的數據庫中,order需要設置為after才會取到正確的值。像Oracle這樣取序列的情況,需要設置為before,否則會報錯。 ### 1.4 statementType MyBatis 支持 STATEMENT ,PREPARED 和CALLABLE 語句的映射類型,分別代表 PreparedStatement 和CallableStatement 類型。 ## 2. 應用 場景:兩張表,A 含有B的唯一id ,想向B中插入一張表,必須向A中插入B的id(自增的) ### 2.1 mapper 在insert前加入: ~~~ <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> SELECT LAST_INSERT_ID() </selectKey> ~~~ 通過LAST_INSERT_ID() 獲得剛插入的自動增長的id的值,并以Integer返回 ~~~ <insert id="insert" parameterType="com.zimug.imooc.persistence.common.model.MoocBook"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> SELECT LAST_INSERT_ID() </selectKey> insert into mooc_book (id, book_name, brief, doc_id, course_id, create_time, creator, is_del) values (#{id,jdbcType=INTEGER}, #{bookName,jdbcType=VARCHAR}, #{brief,jdbcType=VARCHAR}, #{docId,jdbcType=INTEGER}, #{courseId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR}, #{isDel,jdbcType=INTEGER}) </insert> ~~~ ### 2.2 java ~~~ # 1. 將moocBookClassify對象實體插入數據庫,然后數據庫為數據自動分配自動id moocBookMapper.insert(moocBookClassify); //插入專輯 # 2. 將moocBookClassify對象的id字段被自動復制了自增id moocBookClassify.getId() ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看