`

MyBatis获取插入记录的自增长字段值

    博客分类:
  • Java
 
阅读更多

开发中经常遇到插入一条数据之后,需要获得新插入记录自增长生成的id。方法如下:

 

在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方法获取!

@RequestMapping(value = "/insert")  
@ResponseBody  
public JsonResponse insert(Spares spares) {  
    int count = sparesService.insert(spares);  
    System.out.println("共插入" + count + "条记录!"  
            + "\n刚刚插入记录的主键自增长值为:" + spares.getId()); 

 

分享到:
评论

相关推荐

    MyBatis获取插入记录的自增长字段值(ID)

    在MyBatis中,获取插入记录的自增长字段值是一个常见的问题,特别是在使用自动增长字段的数据库管理系统中。下面,我们将详细介绍MyBatis获取插入记录的自增长字段值的方法。 首先,我们需要在MyBatis的Mapper文件...

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

    总之,通过MyBatis的`useGeneratedKeys`和`keyProperty`特性,我们可以方便地在插入记录后获取自增长字段的值,从而简化了数据库操作的复杂性,提高了代码的可读性和可维护性。在实际开发中,根据具体需求,还可以...

    mybatis获取自增ID

    在数据库操作中,经常需要插入数据到表中,而表中的主键字段通常是自增长的。当数据插入成功后,往往需要获取这个自增长的ID,以便于后续的业务处理或者关联其他表的数据。因此,在MyBatis中提供了一种机制来获取自...

    MyBatis批量插入(insert)数据操作

    其中,`id`通常被设为自动增长字段,以便数据库自动生成唯一标识。 2. **结果映射(Result Map)**: 在`mapper.xml`文件中,定义了`resultMap`来指定字段与实体类属性的对应关系。这样MyBatis可以正确地将查询...

    利用Java的MyBatis框架获取MySQL中插入记录时的自增主键

    + "\n刚刚插入记录的主键自增长值为:" + spares.getId()); } ``` 此外,还有一种方法是使用`&lt;selectKey&gt;`标签。`&lt;selectKey&gt;`允许在插入语句之前或之后执行一个查询,以获取自增主键。例如: ```xml select ...

    Mybatis增强工具包(Mybatis plus) v3.5.3.2.zip

    提供了多种主键生成策略,包括 Identity(自动增长)、Sequence(序列)、雪花算法等,可以根据不同的数据库环境选择合适的策略。 7. **自定义全局配置**: 可以通过配置文件或注解来设定全局的配置,如逻辑删除...

    Mybatis-Plus练习案例

    主键自增是数据库表设计中常见的需求,Mybatis-Plus支持主键自动增长,无需手动设置,这在插入新记录时尤其方便。 自动填充是指在特定操作(如插入或更新)时,系统自动填充某些字段。Mybatis-Plus允许用户定义一些...

    mybatis.plus官方中文文档

    2. **主键自动生成策略**:MyBatis-Plus支持多种主键生成策略,包括Identity(自动增长主键)、雪花算法、序列等,可以根据不同的数据库类型选择合适的策略。 3. **条件构造器**:MyBatis-Plus的QueryWrapper和...

    MyBatis Oracle 自增序列的实现方法

    本文将详细讲解如何在MyBatis中实现Oracle的自增序列,并配置MyBatis以支持Oracle的主键自增长。 首先,你需要在Oracle数据库中创建一个序列对象。例如,你可以创建一个名为`SEQ_TABLE`的序列: ```sql CREATE ...

    使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    在使用 MyBatis-Plus 的 `insert` 方法时,可能会遇到一些问题,特别是当尝试插入新记录时,可能会遇到“id 值不存在异常”。这个问题通常是由于 MyBatis-Plus 自动为实体类中的 `id` 字段生成默认值,而这个默认值...

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

    这个特性在处理像MySQL、SQL Server等支持自动增长字段的数据库时特别有用,可以避免进行额外的查询来获取新插入记录的主键。本文将深入探讨`useGeneratedKeys`的工作原理以及它在批量插入和`ON DUPLICATE KEY ...

    mybatis plus 2.86

    4. **主键生成策略**:MyBatis Plus提供了多种主键生成策略,如Identity(自动增长)、Increment(自增)、 ASSIGN_ID(由数据库生成)等,可以根据不同的数据库类型选择合适的方式。 5. **数据权限控制**:可以...

    Mybatis-Plus插件

    MP支持多种主键生成策略,包括Identity(自动增长ID)、Sequence(序列)、雪花算法等。这使得开发者可以根据不同的数据库环境灵活选择。 6. **数据权限控制**: MP提供了一套简单易用的数据权限控制机制,可以...

    持久层开源工具MyBatis-Plus快速入门,Spring Boot整合MyBatis-Plus简化开发示例代码

    这将设置ID类型为自动增长,以及启用下划线到驼峰命名规则的映射。 接着,创建实体类(Entity)并继承`BaseModel`。`BaseModel`是MyBatis-Plus提供的基类,包含了一些通用字段如创建时间和更新时间。例如: ```...

    Mybatis入门.doc

    在本例中,我们创建了一个名为`student`的表,包含`id`(主键,自动增长),`name`(姓名)和`age`(年龄)三个字段。表结构如下: ```sql CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` ...

    mybatis plus系列教程博客参考源码-东离与糖宝

    4. **主键生成策略**:MBP内置了多种主键生成策略,如Identity(自动增长),雪花算法等。 5. **批量操作**:支持批量插入、更新数据,提高数据库操作性能。 6. **乐观锁**:支持在更新时自动添加版本号或时间戳,...

    mybatis insert返回主键代码实例

    在上面的代码中,`selectKey` 元素将获取最后插入的自动增长的主键值,并将其赋值给参数对象的 `id` 字段。 在实际应用中,我们可能需要在插入数据之后执行其他操作,例如,获取插入后的主键值,以便进行下一步的...

    2018mybaits_plugin

    3. **主键自增**:对于自动增长的主键,MP可以自动处理,无需手动设置。 4. **批量插入**:支持单表数据的批量插入,提高数据导入效率。 5. **查询Wrapper**:提供了QueryWrapper、UpdateWrapper等工具类,使得条件...

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    3. `insert`:定义插入SQL,可以处理自动增长的主键。 4. `update`:定义更新SQL。 5. `delete`:定义删除SQL。 6. `resultMap`:结果映射,定义了如何将数据库查询结果转换为Java对象。 7. `parameterMap`:参数...

Global site tag (gtag.js) - Google Analytics