【筆記】mybatis+mysql,當入參為map時,如何獲取返回的自增主鍵
<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="paramMap.id">
// keyProperty 要指定為引數map的名稱.返回的鍵名才行,入參paramMap,返回的自增主鍵名id
SELECT SEQ_LOG.nextval AS id FROM DUAL
</selectKey>
注:paramMap中要有key為id 的屬性
例:
相關推薦
【筆記】mybatis+mysql,當入參為map時,如何獲取返回的自增主鍵
<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="paramMap.id"> // keyProperty 要指定為引數map的名稱.返回的鍵名才行,入參paramMap,返回的自增主鍵
Mybatis:使用bean傳值,當傳入值為Null時,提示“無效的列型別”的解決辦法
提示: Try setting a different JdbcType forthis parameter or a differentjdbcTypeForNull configuration property. Cause: java.sql.SQLException: 無效的列型別: 1111
Mybatis+Mysql插入數據庫返回自增主鍵id值的三種方法
文章 param mysql int sta source nbsp 通用 映射 一、場景: 插入數據庫的值需要立即得到返回的主鍵id進行下一步程序操作 二、解決方法: 第一種:使用通用mapper的插入方法 Mapper.insertSelective(r
mybatis insert的入參為map時,insert語句中獲取key和value的寫法
1. <insert id="submitAudit"> insert into tablename <foreach collection="params.keys" item="key" open="(" close=")" separator=",">
轉mybatis返回自增主鍵,親測
重點是獲取物件的主鍵值而不是insert的返回值 Mybatis獲取插入資料的主鍵時,返回值總是1xml裡的寫法 第一種方式 <insert id="insertLogin" parameterType="com.xyt.p2p.pojo.LoginInfo" keyColumn=
Mybatis的mapper.xml檔案中插入資料返回自增主鍵
使用MyBatis往MySQL資料庫中插入一條記錄後,返回該條記錄的自增主鍵值。Mapper檔案應該怎麼寫呢? Mybatis的Mapper的標籤中有一個屬性,我們一起來看看: useGenerateKeys這個屬性,意思就是使用自增。我們需要將這個欄位設定為 true 。 同時,還需
mybatis 返回自增主鍵
mybatis返回自增主鍵,兩種方式 1:使用xml標籤屬性 useGeneratedKeys="true" keyProperty="id" 2:使用insert的子標籤 <selectKey keyPrope
mybatis返回自增主鍵問題踩坑
turn rop -c pub add 踩坑 control parseint domain 1 <insert id="insert" keyProperty="id" useGeneratedKeys="true"? parameterType="com.demo
mybatis插入返回自增主鍵
昨天下班到家以後收到一朋友問我一個問題:mysql中設定的是自增主鍵,然後在Mybatis執行insert語句後如何返回自增主鍵值,我說明天我到公司後寫一篇部落格給你Mybatis官網是這樣說的:First, if your database supports auto-ge
Mybatis插入時返回自增主鍵(selectKey和useGeneratedKeys)
通過selectKey在插入操作前或者操作後獲取key值,做為欄位插入或返回欄位。(此段程式碼獲取的序列值id作為欄位值插入到實體類中返回) <insert id="insert"> <selectKey keyProperty="id" result
避坑必看:很詳盡的MyBatis返回自增主鍵實驗(包括插入或更新SQL語句insert on duplicate key update的自增主鍵返回情況)
目錄 (7)介面 5. 總結 本篇文章對MyBatis操作MySQL時自增主鍵返回情況進行詳細的實驗,給出不同情況下Mybatis返回自增主鍵的不同行為,僅基於實驗結果,不做原始碼分
【筆記】Mybatis高階查詢(八)--列舉處理器的使用
在sys_role中有一個欄位enabled,只有2個可選值,0-禁用,1-啟用。在SysRole中使用了Integer enabled來定義,這種情況下必須手動校驗enabled的值是否符合要求,在只有2個值的時候處理比較容易,但當值很多的時候,處理就比較麻煩。這時候就要使用Myb
【筆記】Mybatis高階查詢(七)--儲存過程呼叫
以下例子展示Mybatis儲存過程呼叫,與普通查詢基本一樣,只是在配置對映時要加上statementType=“CALLABLE”,由於儲存過程方式不支援Mybatis的二級快取,所以要加上useCache=“false”。 在儲存過程中使用引數時,除了配置屬性名外,還需要指定
【筆記】Mybatis高階查詢(六)--鑑別器discrimiator的使用
<discrimiator>鑑別器標籤用來處理不同資料型別執行不同操作的。與java的switch語句相似。有以下屬性: column:該屬性用於設定要進行鑑別比較值的列。 javaType:該屬性用於指定列的資料型別,保證使用相同的java
【筆記】Mybatis高階查詢(小結)--巢狀查詢及延遲載入
<association>與<collection>標籤一對一、一對多,多對多查詢時用到的屬性 property:對應實體類中的屬性名,必填項。 javaType:屬性對應的型別。 resultMap:可以直接使用現有
【筆記】Mybatis高階查詢(五)--使用resultMap的<collection>進行巢狀查詢及延遲載入
下面例子通過<collection>實現一個通過使用者編號查詢使用者下面的角色及許可權的需求,支援延遲載入。下面以自下而上的過程來實現這樣的巢狀查詢功能。並且這個自下而上的過程中每一個方法都是獨立可用的方法。上層的結果都以下層方法為基礎。所有物件都設定為延遲載入。
【筆記】Mybatis高階查詢(四)--使用resultMap的<collection>標籤實現一對多和多對多查詢
<collection>集合的巢狀結果對映就是指通過一次SQL查詢將所有的結果查詢出來,然後對映到不同的物件中。在一對多的關係中,主表一條資料會對應關聯表的多條資料。因此一般查詢時會查詢出多條結果,按照一對多的資料對映時,最終的結果數會小於等於查詢的總記錄數。
【筆記】Mybatis高階查詢(三)--使用<association>標籤實現巢狀查詢及延遲載入
<association>標籤實現巢狀查詢,需要用到以下屬性: select:另一個對映查詢的ID,Mybatis會額外執行這個查詢獲取巢狀物件的結果。 column:列名或別名,將主查詢中列的結果作為巢狀查詢的引數,配置方式如column=
【筆記】Mybatis高階查詢--使用自動對映處理一對一關係
假設在RBAC許可權系統中,一個使用者只能有一個角色,那麼就是一對一關係了。一對一對映因為不需要考慮是否存在重複資料,用起來簡單,所以可以直接使用Mybatis的自動對映。 以下例子為使用自動對映實現在查詢使用者資訊的同時獲取使用者的角色資訊。 在SysU
【筆記】Mybatis高階查詢--使用resultMap配置一對一對映
1. 使用resultMap配置一對一對映 除了使用Mybatis的自動對映處理一對一巢狀外,還可以在XML對映檔案中配置結果對映。以下例子是用resultMap配置來處理上一節一對一對映的。 在SysUserMapper.xml中增加以下res