`
bugyun
  • 浏览: 557047 次
社区版块
存档分类
最新评论

mybatis 中 useGeneratedKeys 和 keyProperty 含义

 
阅读更多

MyBatis插入时候获取自增主键方法

转自:http://blog.csdn.net/hellostory/article/details/6790248

 

第一步:

    在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!

[html] view plain copy
 
  1. <insert id="insert" parameterType="Spares"   
  2.         useGeneratedKeys="true" keyProperty="id">  
  3.         insert into spares(spares_id,spares_name,  
  4.             spares_type_id,spares_spec)  
  5.         values(#{id},#{name},#{typeId},#{spec})  
  6.     </insert>  

第二步:

    Mybatis执行完插入语句后,自动将自增长值赋值给对象Spares的属性id。因此,可通过Spares对应的getter方法获取!

[java] view plain copy
 
  1. /** 
  2.  * 新增备件 
  3.  * @author hellostory 
  4.  * @param spares 
  5.  * @return 
  6.  */  
  7. @RequestMapping(value = "/insert")  
  8. @ResponseBody  
  9. public JsonResponse insert(Spares spares) {  
  10.     int count = sparesService.insert(spares);  
  11.     System.out.println("共插入" + count + "条记录!"  
  12.             + "\n刚刚插入记录的主键自增长值为:" + spares.getId());  
分享到:
评论

相关推荐

    Mybatis使用useGeneratedKeys获取自增主键的方法

    在Mybatis中,`useGeneratedKeys`属性是一个关键设置,用于获取自增主键的值。这个特性在处理像MySQL、SQL Server等支持自动增长字段的数据库时特别有用,可以避免进行额外的查询来获取新插入记录的主键。本文将深入...

    mybatis获取自增ID

    在MyBatis中,可以通过在`&lt;insert&gt;`标签中添加`useGeneratedKeys="true"`和`keyProperty`属性来自动获取并填充插入语句后返回的自增ID值。 **示例代码:** ```xml useGeneratedKeys="true" keyProperty="id"&gt; ...

    mybatis-annotations.zip

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在本压缩包"mybatis-annotations.zip"中,主要涉及的是MyBatis的注解使用...

    MyBatis_insert

    本篇文章将深入探讨MyBatis中`insert`元素的使用,通过实例Demo来阐述其核心概念和应用场景。 1. MyBatis映射器接口与XML映射文件 在MyBatis中,映射器接口是Java类,它定义了数据库操作的方法。而XML映射文件则...

    Mybatis项目中应用和常见问题

    在Mybatis中,当你执行一个插入操作后,想要获取自动生成的主键值,可以使用`useGeneratedKeys="true"`和`keyProperty="property_name"`属性。这两个属性告诉Mybatis去获取生成的键,并将其设置到对应的Java对象属性...

    mybatis之多对多

    7. **自动生成主键(Auto-generating Primary Keys)**:在关联表中,MyBatis可以通过`useGeneratedKeys`和`keyProperty`属性,配合数据库的自动增长字段,自动生成关联表的主键。 8. **连接查询(Join Queries)**...

    Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例

    在 Mybatis 中,要实现插入一条或批量插入,需要使用 `&lt;insert&gt;` element,并在其中使用 `useGeneratedKeys` 和 `keyProperty` 属性来获取自增长主键。 MySQL 在 MySQL 中,需要使用 `useGeneratedKeys="true"` 和...

    mybatis3.3.1

    在MySQL等支持自增主键的数据库中,可以通过设置useGeneratedKeys="true"和keyProperty="id"来实现这一功能: ```xml &lt;insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" ...

    Mybatis接口注解

    在 Mybatis 中,我们可以通过两种方式来定义数据访问:XML 配置文件和注解。标题提到的 "Mybatis 接口注解" 主要是指在 Service 或 Dao 接口中使用注解来简化数据访问的配置。 传统的 Mybatis 使用方式是通过编写 ...

    sprint boot集成mybatis

    在Spring Boot框架中集成MyBatis是一个常见的任务,它允许我们利用Spring Boot的自动化配置和MyBatis的强大ORM能力来简化数据库操作。本教程将详细讲解如何在Spring Boot项目中集成MyBatis,并实现基本的CRUD(创建...

    jersey构建rest服务,通过mybatis访问数据库

    @Options(useGeneratedKeys = true, keyProperty = "id") void insertUser(User user); } ``` 在服务端,我们可以通过Jersey的`ResourceConfig`类来注册我们的REST服务和MyBatis的SqlSessionFactory。这样,当...

    第三章 MyBatis的核心配置.docx

    * KeyProperty:仅对insert和update标签有效,插入和更新操作时,返回值赋值给某个属性 * keyColumn:仅对insert和update标签有效,此属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置 * ...

    MyBatis完整案例(增删改查)

    - **插入(Insert)**:通过`&lt;insert&gt;`标签定义插入操作,使用`useGeneratedKeys`和`keyProperty`属性可以获取自增主键的值。 - **删除(Delete)**:使用`&lt;delete&gt;`标签定义删除操作,其`id`属性对应接口方法名,...

    Mybatis-03 SQL映射文件

    在插入操作中,如果数据库表有自增主键,MyBatis提供了几种主键生成策略,如`useGeneratedKeys`和`keyProperty`属性。当`useGeneratedKeys="true"`时,MyBatis会尝试获取由数据库生成的主键值,`keyProperty`属性...

    mybatis 的高级关联查询源码

    - `useGeneratedKeys` 和 `keyProperty` 结合,可以自动获取插入操作生成的主键值,简化关联关系的维护。 通过以上讲解,我们可以看到 MyBatis 在处理“一对多”关联查询时的灵活性和高效性。了解并熟练运用这些...

    mybatis-3.3.1.jar

    为了实现这个功能,开发者需要在Mapper接口的方法上使用注解`@InsertProvider`或XML映射文件中的`&lt;insert&gt;`标签,并配置`useGeneratedKeys="true"`和`keyProperty`属性。`useGeneratedKeys`指定MyBatis应该尝试获取...

    mybatis 获取mysql插入记录的自增长字段值.pdf

    首先,我们需要理解`useGeneratedKeys`和`keyProperty`这两个MyBatis的配置属性。`useGeneratedKeys="true"`指示MyBatis使用数据库生成的主键值。这通常适用于那些设置为自动增长的字段,比如MySQL中的`AUTO_...

    mybatis数据操作(增删改查+批量操作)

    例如,你可以一次性插入多个对象,通过使用`&lt;insert&gt;`标签的`useGeneratedKeys`和`keyProperty`属性,配合`&lt;foreach&gt;`标签,可以方便地进行批量插入。对于更新和删除操作,也可以通过`&lt;update&gt;`标签内的`&lt;foreach&gt;`...

    mybatis返回插入的id1

    MyBatis 提供了方便的功能来实现这一需求,这主要涉及到 `keyProperty` 和 `useGeneratedKeys` 两个属性的设置。 `&lt;insert&gt;` 标签是 MyBatis 用于定义 SQL 插入语句的地方。在描述中给出的示例中,我们看到以下 `...

    Windchill+spring+mybatis

    @Options(useGeneratedKeys = true, keyProperty = "id") int createPPCInterval(@Param("ppcId") int ppcId, @Param("interval") int interval); } ``` 此示例中定义了一个名为`PPCIntervalMapper`的接口,并在...

Global site tag (gtag.js) - Google Analytics