MyBatis-Oracle-selectKey返回主鍵

SelectKey在Mybatis中是為了解決Insert數據時不支持主鍵自動生成的問題,他可以很隨意的設置生成主鍵的方式。

Mapper(Oracle)

<insert id="insertWxshLogOut"  parameterType="java.util.HashMap">
    <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
        select wxsh_seq.nextval as id from dual
    </selectKey>
    INSERT INTO WXSH_LOG_OUT
    (ID,
     OUT_NO,
     USER_ID,
     FILE_NAME,
     CREATE_AT,
     IP,
     CONTENT,
     OUT_NUM,
     UNIT_NO,
     STATUS)
    VALUES
        (#{id},
         #{out_no},
         #{user_id},
         #{file_name},
         SYSDATE,
         #{ip},
         #{content},
         #{out_num},
         #{unit_no},
         #{status})
</insert>

Service

public int addWxshLogOut(Map map) {
    try {
        DataSourceTypeManager.set(DataSources.GJT);
        welfareConfirmMapper.insertWxshLogOut(map);
        return Integer.parseInt(String.valueOf(map.get("id")));
    } catch (Exception e) {
        logger.error(e.getMessage());
    }
    return 0;
}

map中會增加返回的主鍵id

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優秀的...
    笨鳥慢飛閱讀 5,621評論 0 4
  • Java數據持久化之mybatis 一. mybatis簡介 1.1 原始的JDBC操作: Java 通過 Jav...
    小Q逛逛閱讀 4,963評論 0 16
  • 11 MyBatis一級緩存實現# 11.1 什么是一級緩存? 為什么使用一級緩存?## 每當我們使用MyBati...
    七寸知架構閱讀 10,891評論 12 143
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • 依賴倒置原則(DIP)原則的原始定義: 高層模塊不應該依賴低層模塊,兩者都應該依賴其抽象。 抽象不應該依賴細節。 ...
    hukei閱讀 535評論 0 0