首页 > 其他分享 >Mybatis使用注解方式插入数据后 返回自增长的主键值

Mybatis使用注解方式插入数据后 返回自增长的主键值

时间:2022-10-01 22:00:54浏览次数:77  
标签:insert 实体类 id 插入 键值 student Mybatis 注解 主键

需求:

插入数据时不插入主键,让主键自增,但是需要知道插入的数据主键是啥。

注意:
insert方法的返回值,表示成功添加的条数,和主键ID无关

实现:添加注解 @Options()

示例

@Insert("insert into table_name (num,grade,name,age,sex) values(#{num},#{grade},#{name},#{age},#{sex}")

@Options(useGeneratedKeys = true, keyProperty = "studentId", keyColumn = "student_id")

void insert(Student student);
  • useGeneratedKeys
    使用生成的密钥,润色一下就是使用数据库中生成的主键(这里表中主键只能是student_id)

  • keyProperty
    关键属性,即代码中与表对应的Bean的属性名(实体类的属性)。

  • keyColumn
    关键列,即数据库表中主键的字段名 student_id

增加这两个参数,它会将主键id映射到你的对象中的studentId属性中去

获取ID

insert方法执行完毕后,实体类的对象student的studentId就会被赋值为 插入后主键的值

如果想获取通过 student.getStudentId()(改成自己的实体类的get方法) 就可以。

原文:

标签:insert,实体类,id,插入,键值,student,Mybatis,注解,主键
From: https://www.cnblogs.com/kingwz/p/16747865.html

相关文章

  • 基本注解
    @PathVariable使用#localhost:8080/car/1/owner/aaa@GetMapping("/car/{id}/owner/{username}")publicMap<String,Object>getCar(@PathVariable("id")Integeri......
  • mybatis-spring的pom.xml
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • Springboot整合Redis作为Mybatis的二级缓存
    参考原文:https://juejin.cn/post/6971740313501368356一级缓存是:sqlSession,sql建立连接到关闭连接的数据缓存二级缓存是:全局的缓存准备配置启动类添加注解:@EnableC......
  • 【mybatis框架学习】三、invoke方法逻辑编排
    上一篇一直有提高一个词,编排。都说编程,编程,编排也就容易理解了。 像我们常用的框架,spring、mybatis,都是将一些固有的流程,简化,抽象,编排起来,在留有可拓展的接口之后,全部......
  • 【mybatis框架学习】一、序言
    相关内容需要基本的mybatis框架使用经验,不会过多赘述基本常识性的内容。关于mybatis的使用,概括来讲就是:配置jdbc连接信息、配置sql语句、定义mapper接口、定......
  • 肖sir_Java注解__22
    Java注解 1.1注解介绍从Java5版本之后可以在源代码中嵌入一些补充信息,这种补充信息称为注解(Annotation),注解是Java平台中非常重要的一部分。注解都是@符号开头,......
  • Spring MVC入门(十一):注解配置SpringMVC
    构建1个maven项目导入依赖<packaging>war</packaging><dependencies><!--SpringMVC--><dependency><groupId>org.springframework</......
  • mybatis puls学习笔记(二)
    mapperpackagecom.ychen.mybatis.mapper;importcom.baomidou.mybatisplus.core.conditions.Wrapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom......
  • Mybatis plus代码生成器
    案例一demo为​​chenx/mybatisplus-demo​​​​参考​​​​案例​​项目初始结构数据库新建表项目配置启动CodeGenerator类中的main方式,输入表名,生成代码案例二demo为​......
  • Mybatis plus案例
    前言当表名为user时,会多生成2个实体类正常情况下生成的类测试是否可以直接在当前​​mybatis代码生成器的项目​​中开发启动项目后测试,发现当前项目只能用来生成代码即使项......