mapper mysql 主键_mybatis 通用mapper返回插入主键

本文介绍了如何在使用MyBatis通用Mapper时,通过配置@GeneratedValue和JDBC来获取MySQL自增主键的方法。示例代码展示了在实体类中设置@Id和@GeneratedValue,并在mapper接口中调用insert方法后,如何获取并打印插入记录的主键ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看地址:http://git.oschina.net/free/Mapper/blob/master/wiki/mapper3/3.Use.md

3.主键策略(仅用于insert方法)

通用Mapper还提供了序列(支持Oracle)、UUID(任意数据库,字段长度32)、主键自增(类似Mysql,Hsqldb)三种方式,其中序列和UUID可以配置多个,主键自增只能配置一个。

由于MySql自增主键最常用,所以这里从最简单的配置方式开始。

1.@GeneratedValue(generator = "JDBC")

@Id

@GeneratedValue(generator = "JDBC")

private Integer id;

这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段)。

这种情况对应的xml类似下面这样:

insert into Author (username,password,email,bio)

values (#{username},#{password},#{email},#{bio})

这样执行通用的 mapper 就可以 返回主键值了

例子:

@Id

@GeneratedValue(generator = "JDBC")

// @GeneratedValue(strategy = GenerationType.IDENTITY)

private Integer id;

ProjectUserMapper projectUserMapper =

(ProjectUserMapper) context.getBean("projectUserMapper");

ProjectUser projectUser=new ProjectUser();

projectUser.setFlag(true);

projectUser.setName("test");

projectUser.setPassword("password");

int a=projectUserMapper.insert(projectUser);

System.out.println("a的结果》》"+a);

System.out.println(">>>id插入后的》》"+projectUser.getId());

这样都是可以获取到 插入的  主键id 的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值