隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          原文:http://289972458.iteye.com/blog/1001851

          在使用MyBatis做持久層時,insert語句默認是不返回記錄的主鍵值,而是返回插入的記錄條數;如果業務層需要得到記錄的主鍵時,可以通過配置的方式來完成這個功能

          針對Sequence主鍵而言,在執行insert sql前必須指定一個主鍵值給要插入的記錄,如Oracle、DB2,可以采用如下配置方式:

          <insert id="add" parameterType="vo.Category">

          <selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id">

          SELECT SEQ_TEST.NEXTVAL FROM DUAL

          </selectKey>

          insert into category (name_zh, parent_id,

          show_order, delete_status, description

          )

          values (#{nameZh,jdbcType=VARCHAR},

          #{parentId,jdbcType=SMALLINT},

          #{showOrder,jdbcType=SMALLINT},

          #{deleteStatus,jdbcType=BIT},

          #{description,jdbcType=VARCHAR}

          )

          </insert>


          針對自增主鍵的表,在插入時不需要主鍵,而是在插入過程自動獲取一個自增的主鍵,比如MySQL,可以采用如下兩種配置方式:

          <insert id="add" parameterType="vo.Category" useGeneratedKeys="true" keyProperty="id">

          insert into category (name_zh, parent_id,

          show_order, delete_status, description

          )

          values (#{nameZh,jdbcType=VARCHAR},

          #{parentId,jdbcType=SMALLINT},

          #{showOrder,jdbcType=SMALLINT},

          #{deleteStatus,jdbcType=BIT},

          #{description,jdbcType=VARCHAR}

          )

          </insert>

          <insert id="add" parameterType="vo.Category">

          <selectKey resultType="java.lang.Short" order="AFTER" keyProperty="id">

          SELECT LAST_INSERT_ID() AS id

          </selectKey>

          insert into category (name_zh, parent_id,

          show_order, delete_status, description

          )

          values (#{nameZh,jdbcType=VARCHAR},

          #{parentId,jdbcType=SMALLINT},

          #{showOrder,jdbcType=SMALLINT},

          #{deleteStatus,jdbcType=BIT},

          #{description,jdbcType=VARCHAR}

          )

          </insert>


          在插入操作完成之后,參數category的id屬性就已經被賦值了



          posted on 2011-11-30 16:06 Ke 閱讀(4218) 評論(0)  編輯  收藏 所屬分類: myBatis

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 东辽县| 武胜县| 达日县| 南昌县| 望江县| 达尔| 旌德县| 万盛区| 桓仁| 霍州市| 乌审旗| 称多县| 佛教| 武清区| 本溪| 大厂| 正安县| 和平县| 玉环县| 襄城县| 法库县| 福鼎市| 三河市| 治多县| 安陆市| 肃宁县| 独山县| 额尔古纳市| 瑞安市| 贞丰县| 富裕县| 隆安县| 邯郸县| 霍山县| 富顺县| 汉阴县| 乡宁县| 建平县| 苍南县| 辽阳市| 穆棱市|