MyBatis插入时候获取自增主键方法
转自:http://blog.csdn.net/hellostory/article/details/6790248
第一步:
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!
- <insert id="insert" parameterType="Spares"
- useGeneratedKeys="true" keyProperty="id">
- insert into spares(spares_id,spares_name,
- spares_type_id,spares_spec)
- values(#{id},#{name},#{typeId},#{spec})
- </insert>
第二步:
Mybatis执行完插入语句后,自动将自增长值赋值给对象Spares的属性id。因此,可通过Spares对应的getter方法获取!
- /**
- * 新增备件
- * @author hellostory
- * @param spares
- * @return
- */
- @RequestMapping(value = "/insert")
- @ResponseBody
- public JsonResponse insert(Spares spares) {
- int count = sparesService.insert(spares);
- System.out.println("共插入" + count + "条记录!"
- + "\n刚刚插入记录的主键自增长值为:" + spares.getId());
相关推荐
在Mybatis中,`useGeneratedKeys`属性是一个关键设置,用于获取自增主键的值。这个特性在处理像MySQL、SQL Server等支持自动增长字段的数据库时特别有用,可以避免进行额外的查询来获取新插入记录的主键。本文将深入...
在MyBatis中,可以通过在`<insert>`标签中添加`useGeneratedKeys="true"`和`keyProperty`属性来自动获取并填充插入语句后返回的自增ID值。 **示例代码:** ```xml useGeneratedKeys="true" keyProperty="id"> ...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在本压缩包"mybatis-annotations.zip"中,主要涉及的是MyBatis的注解使用...
本篇文章将深入探讨MyBatis中`insert`元素的使用,通过实例Demo来阐述其核心概念和应用场景。 1. MyBatis映射器接口与XML映射文件 在MyBatis中,映射器接口是Java类,它定义了数据库操作的方法。而XML映射文件则...
在Mybatis中,当你执行一个插入操作后,想要获取自动生成的主键值,可以使用`useGeneratedKeys="true"`和`keyProperty="property_name"`属性。这两个属性告诉Mybatis去获取生成的键,并将其设置到对应的Java对象属性...
7. **自动生成主键(Auto-generating Primary Keys)**:在关联表中,MyBatis可以通过`useGeneratedKeys`和`keyProperty`属性,配合数据库的自动增长字段,自动生成关联表的主键。 8. **连接查询(Join Queries)**...
在 Mybatis 中,要实现插入一条或批量插入,需要使用 `<insert>` element,并在其中使用 `useGeneratedKeys` 和 `keyProperty` 属性来获取自增长主键。 MySQL 在 MySQL 中,需要使用 `useGeneratedKeys="true"` 和...
在MySQL等支持自增主键的数据库中,可以通过设置useGeneratedKeys="true"和keyProperty="id"来实现这一功能: ```xml <insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" ...
在 Mybatis 中,我们可以通过两种方式来定义数据访问:XML 配置文件和注解。标题提到的 "Mybatis 接口注解" 主要是指在 Service 或 Dao 接口中使用注解来简化数据访问的配置。 传统的 Mybatis 使用方式是通过编写 ...
在Spring Boot框架中集成MyBatis是一个常见的任务,它允许我们利用Spring Boot的自动化配置和MyBatis的强大ORM能力来简化数据库操作。本教程将详细讲解如何在Spring Boot项目中集成MyBatis,并实现基本的CRUD(创建...
@Options(useGeneratedKeys = true, keyProperty = "id") void insertUser(User user); } ``` 在服务端,我们可以通过Jersey的`ResourceConfig`类来注册我们的REST服务和MyBatis的SqlSessionFactory。这样,当...
* KeyProperty:仅对insert和update标签有效,插入和更新操作时,返回值赋值给某个属性 * keyColumn:仅对insert和update标签有效,此属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置 * ...
- **插入(Insert)**:通过`<insert>`标签定义插入操作,使用`useGeneratedKeys`和`keyProperty`属性可以获取自增主键的值。 - **删除(Delete)**:使用`<delete>`标签定义删除操作,其`id`属性对应接口方法名,...
在插入操作中,如果数据库表有自增主键,MyBatis提供了几种主键生成策略,如`useGeneratedKeys`和`keyProperty`属性。当`useGeneratedKeys="true"`时,MyBatis会尝试获取由数据库生成的主键值,`keyProperty`属性...
- `useGeneratedKeys` 和 `keyProperty` 结合,可以自动获取插入操作生成的主键值,简化关联关系的维护。 通过以上讲解,我们可以看到 MyBatis 在处理“一对多”关联查询时的灵活性和高效性。了解并熟练运用这些...
为了实现这个功能,开发者需要在Mapper接口的方法上使用注解`@InsertProvider`或XML映射文件中的`<insert>`标签,并配置`useGeneratedKeys="true"`和`keyProperty`属性。`useGeneratedKeys`指定MyBatis应该尝试获取...
首先,我们需要理解`useGeneratedKeys`和`keyProperty`这两个MyBatis的配置属性。`useGeneratedKeys="true"`指示MyBatis使用数据库生成的主键值。这通常适用于那些设置为自动增长的字段,比如MySQL中的`AUTO_...
例如,你可以一次性插入多个对象,通过使用`<insert>`标签的`useGeneratedKeys`和`keyProperty`属性,配合`<foreach>`标签,可以方便地进行批量插入。对于更新和删除操作,也可以通过`<update>`标签内的`<foreach>`...
MyBatis 提供了方便的功能来实现这一需求,这主要涉及到 `keyProperty` 和 `useGeneratedKeys` 两个属性的设置。 `<insert>` 标签是 MyBatis 用于定义 SQL 插入语句的地方。在描述中给出的示例中,我们看到以下 `...
@Options(useGeneratedKeys = true, keyProperty = "id") int createPPCInterval(@Param("ppcId") int ppcId, @Param("interval") int interval); } ``` 此示例中定义了一个名为`PPCIntervalMapper`的接口,并在...