mybatis执行insert返回主键

第一种方式(推介):

<!-- 所有数据库通用,插入成功返回最近一次插入的id它会将id直接赋值到对应的实体当中TStudent stu = new TStudent();
studentMapper.add(TStudent );
int pk = stu.getId(); // 这就是我们的主键id
-->
<insert id="add" parameterType="TStudent" useGeneratedKeys="true" keyProperty="id">
insert into TStudent(name, age) values(#{name}, #{age})
</insert>

  

第二种方式:

<!-- 注意 keyProperty 属性,selectKey 标签,主键是id -->
<insert id="insertEstimate" parameterType="java.util.Map" useGeneratedKeys="true" keyProperty="id">
<!-- 获取最近一次插入记录的主键值的方式 -->
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT @@IDENTITY
</selectKey>
insert into test_table(estimate_no) values(#{budgetNo})
</insert>

  

常用第一种方式进行

原文链接:https://blog.csdn.net/u012489091/article/details/89339437

原文地址:https://www.cnblogs.com/wangsong412/p/12221870.html

时间: 2025-01-13 15:02:15

mybatis执行insert返回主键的相关文章

mybatis的insert返回主键

Java代码   <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.model.OperationBookList" > insert into operation_book_list (id, name, introduce, category, state, up_date, stop_date, do

mybatis.net insert 返回主键

<insert id="insertORACLE" parameterClass="product">   <selectKey resultClass="int" type="pre" property="Id" >      SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL   </selectKey>   inser

MyBatis insert返回主键(sqlserver2008)

mybatis insert返回主键(sqlserver2008) MyBatisXML配置,下面两种方式都行 方式1: <insert id="insert" parameterType="com.user.model.User" > <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >

MyBatis insert 返回主键的方法

数据库:SqlServer2005,表结构: /*==============================================================*/ /* Table: Dic_City                                              */ /*==============================================================*/ create table Dic_City (   

MyBatis框架——mybatis插入数据返回主键(mysql、oracle)

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键. 比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */ public int insertUser(User user) thro

MyBatista主键映射,执行inset返回主键

有点时候,我们的业务需要执行了insert语句后再返回主键,这时可以使用主键映射 首先,定义sql,以MySQL为例 1 <insert id="addUser" useGeneratedKeys="true" keyProperty="user_id" parameterType="com.entity.User"> 2 insert into user(name,xes,age)values('jack','男

Mybatis Insert 返回主键ID

<insert id="insert" useGeneratedKeys="true" keyProperty="u_Id" parameterType="User" > insert into User ... </insert> 其中 ①.useGeneratedKeys:是否生成主键 ②.keyProperty:实体类对应的ID属性 sql执行完毕后,user对象里的id就会自动赋值

Mybatis insert 返回主键

@Override protected int insert(Card record) { int result = cardMapper.insertSelective(record); return (int) (result == 1 ? record.getId() : result); } 之前以为 result就是insert record的主键id. 测试的时候发现,每次都返回 1. 后来google才发现 主键id set到 record指定的(id)字段上了. http://s

关于mybatis插入数据库返回主键id

关于Sequence主键的数据库来说,如: <insert id="add" parameterType="vo.Category"> <selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id"> SELECT SEQ_TEST.NEXTVAL FROM DUAL </selectKey>