Mybatis 插入資料返回自增主鍵

2022-09-09 20:54:15 字數 1355 閱讀 8998

使用mybatis作為工具連線mysql,要求在插入資料之後返回自增主鍵

一開始也很迷惑,mybatis使用insert之後,成功返回的是1,失敗會報錯或返回0,主鍵去哪找來

後來知道mybatis可以把自增主鍵的值放到實體中返回

這是實體類的定義(實體類必須有乙個字段接收主鍵的值)

public

class

userentity

首先建立的xml檔案是這樣的,可以將資料插入到表中,但是不能獲取主鍵值

<

insert

id="insert"

parametertype

="com.example.springbootdemo.entity.userentity"

>

insert into `t_user`(user_name, type,number) values

(#,#,1

)insert

>

需要給insert操作加上兩個引數

usegeneratedkeys :確定使用自增主鍵

keyproperty :將主鍵的值放在實體類的字段中

然後xml檔案就變成了這樣

<

insert

id="insert"

keyproperty

="id"

usegeneratedkeys

="true"

parametertype

="com.example.springbootdemo.entity.userentity"

>

insert into `t_user`(user_name, type,number) values

(#,#,1

)insert

>

這裡的keyproperty = id ,所以自增主鍵值在id上,也可以賦值給其他字段

service實現類

@service

public

class

userservice

}

controller類

@restcontroller

public

class

usercontroller

}

命令列輸出結果 

postman測試結果

Mybatis 批量插入 返回自增Id

2月18日,mybatis3.3.1解決了此問題。好開心,省了多餘的查詢了。自己測試了一下。例子表 create table user id intnot null auto increment,name varchar 16 null comment 名稱 primary key id pom 依...

Mysql Mybatis插入資料返回自增主鍵

新增主機裝置管理資訊 param hostpojo 主機裝置管理資訊 return 結果 override transactional public intaddhost hostpojo hostpojo 查詢主機裝置管理列表 param hostpojo 主機裝置管理 return 主機裝置管理...

mybatis 主鍵自增返回

通過修改sql對映檔案,可以將mysql自增主鍵返回 select last insert id insert into user username,birthday,address values 新增selectkey實現將主鍵返回 keyproperty 返回的主鍵儲存在pojo中的哪個屬性 o...