当前位置: 首页 > 编程笔记 >

Mybatis返回插入主键id的方法

赖诚
2023-03-14
本文向大家介绍Mybatis返回插入主键id的方法,包括了Mybatis返回插入主键id的方法的使用技巧和注意事项,需要的朋友参考一下

在mapper的xml文件中配置  useGeneratedKeys

以及 keyProperty 返回Id即可

<insert id="insertObject" useGeneratedKeys="true"  keyProperty="id" parameterType="www.change.tm.model.Orders" >
insert into orders
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="number!=null">
OrderNumber,
</if>
<if test="orderTime!=null">
orderTime,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="number!=null">
#{number},
</if>
<if test="orderTime!=null">
#{orderTime},
</if>
</trim>
</insert>

PS:Mybatis中insert中返回主键ID的方法

1、XyzMapper.xml

<insertid=“doSomething"parameterType="map"useGeneratedKeys="true"keyProperty=“yourId">
...
</insert>

<insert id=“doSomething" parameterType=“com.xx.yy.zz.YourClass" useGeneratedKeys="true" keyProperty=“yourId">
...
</insert>

2、XyzMapper.java

public int doSomething(Map<String, Object> parameters);
or
public int 
doSomething(YourClass c);

3、要在map或c中有一个字段名为yourId,Mybatis会自动把主键值赋给这个字段。

Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put(“yourId”, 1234);
...
mapper.doSomething(parameters);
System.out.println(“id of the field that is primary key” + parameters.get(“yourId"));

YourClass c = new YourClass();
...
mapper.doSomething(c);
System.out.println(“id of the field that is primary key” + c.yourId);

好了,到此结束,希望对大家有所帮助!

 类似资料:
  • 本文向大家介绍Mybatis返回插入的主键问题解决方案,包括了Mybatis返回插入的主键问题解决方案的使用技巧和注意事项,需要的朋友参考一下 MyBatis添加记录后获取主键ID,这是一个很常见的需求。这个需求有分为两种情况:(1)添加单条记录时获取主键值;(2)获取批量添加记录时各记录的主键值。 备注:MyBatis从3.3.1版本开始支持批量添加记录并返回各记录主键字段值。 1、添加单一记录

  • 问题内容: 我有一个SQL语句,例如: 一旦成功,我需要返回自动生成的ID(INT主键),以便可以在第二条语句中使用它。 这可能吗?请提供一个例子。 问题答案: 像这样:

  • 本文向大家介绍php插入mysql数据返回id的方法,包括了php插入mysql数据返回id的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 匹克系统应用: 以上这篇php插入mysql数据返回id的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我配置了一个类似以下内容的语句(在这里进行解释,前面没有实际的代码): 就像现在一样,应用程序代码通过调用mybatis/postgres来生成本身以获取下一个序列值,然后将其传递给。 我想重构此代码,以便在中创建。据我所知,一种方法是将语句中的替换为。另一种方法是使用: 我希望在这两种情况下都能得到id的值作为返回值;是否生成了新记录和新序列id,或者如果存在冲突/更新,则为现有id。如何执行此

  • 我试图使用console.log(结果),但似乎得到了一组方法,但我不知道如何获得所需的信息。

  • 好吧,问题不是关于如何返回ID,而是更像是如何跳过它...我有一种情况,我使用last_insert_id()获取最后插入行的id,但如果没有插入行,我想得到一个零。问题如下: < li >我插入...更新一些记录:由于这些行是新插入的,所以返回所有id < li >然后我重复该过程:这次不返回id。耶!这正是我想要的 < li >我更改了一个列值并重复该过程:但现在返回的是我更改了列值的行的ID