文档章节

MyBatis --执行insert后获取主键

求是科技
 求是科技
发布于 2016/03/30 14:10
字数 160
阅读 96
收藏 1

最近做工程时遇到这种情况,刚向数据库插入一条记录,马上需要得到该记录的主键

网上搜索得出如下解决办法

<insert id="insert" parameterType="userInfo" useGeneratedKeys="true" keyProperty="id">
        insert into t_user(user_name,password) values(#{name},#{pswd})
    </insert>

实现层代码如下

        //先添加宠物信息
        CustomerPets customerPets = new CustomerPets();
        
        //customerPets设值
        customerPets.setCustomerId(userId);
        customerPets.setPetName(petName);
        customerPets.setSex(sex);
        customerPets.setPetCategoryId(petCategoryId);
        customerPets.setPetTypeId(petTypeId);
        customerPets.setBirthday(brithday);
        customerPets.setWeight(weight);
        customerPets.setUpdPid(PID);
        customerPets.setUpdUid(userId);
        customerPets.setUseFlag(Constant.UseFlag.USE.getFlag());
        customerPets.setAddUid(userId);
        customerPets.setAddPid(PID);
        
        int success =    customerPetsMapper.insertSelective(customerPets);
        
        if (success == 1) {
        //注意这里取值
        String tmpPetId = customerPets.getPetId();
        }

备注:keyProperty后面的自增长主键,应该与t_user表中主键名称保持一致。

© 著作权归作者所有

求是科技

求是科技

粉丝 100
博文 455
码字总数 238818
作品 0
成都
后端工程师
私信 提问
MyBatis:获取插入记录的自增主键

我们知道MySql中主键可以设成auto_increment,也就是自增主键,每当新增一条记录,主键值自动加1。 在MyBatis中,执行insert,返回值为受影响的语句行数,此操作跟JDBC一致。 但是如果应用中...

kolbe
2015/09/30
3.9K
1
【MyBatis框架】MyBatis入门程序第二部分

我们通过写一个简单的MyBatis小项目来在实战中学习MyBatis,接着上一篇继续 我们开始实现需求中的添加和删除用户功能 (1)向数据库中添加用户数据 使用User.xml,加入添加用户的sql语句。 <!--...

Mysoft
2015/09/17
62
0
JDBC insert后得到主键的方式

使用JDBC,或者通过hibernate,mybatis等orm框架,执行insert语句,要怎么得到新生成记录的主键呢? 大体有两种方式,1. 在执行insert前,生成主键,那么主键和普通的列就没有区别,2. 执行i...

BlueWoods
2015/07/24
262
0
mybatis自动生成代码工具(Mybatis-generator)

1、修改对应的配置文件 generatorConfig.xml 2、在对应的lib目录下,执行 java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite 之后会在该目录生成 sr...

Fraud
2016/01/04
244
0
Mybatis3.3.x技术内幕(十四):Mybatis之KeyGenerator

在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象。 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增主键值,而不是生...

祖大俊
2016/05/11
2K
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Alibaba 实战(二) - 关于Spring Boot你不可不知道的实情

0 相关源码 1 什么是Spring Boot 一个快速开发的脚手架 作用 快速创建独立的、生产级的基于Spring的应用程序 特性 无需部署WAR文件 提供starter简化配置 尽可能自动配置Spring以及第三方库 ...

JavaEdge
今天
7
0
TensorFlow 机器学习秘籍中文第二版(初稿)

TensorFlow 入门 介绍 TensorFlow 如何工作 声明变量和张量 使用占位符和变量 使用矩阵 声明操作符 实现激活函数 使用数据源 其他资源 TensorFlow 的方式 介绍 计算图中的操作 对嵌套操作分层...

ApacheCN_飞龙
今天
7
0
五、Java设计模式之迪米特原则

定义:一个对象应该对其他对象保持最小的了解,又叫最小知道原则 尽量降低类与类之间的耦合 优点:降低类之间的耦合 强调只和朋友交流,不和陌生人说话 朋友:出现在成员变量、方法的输入、输...

东风破2019
昨天
23
0
jvm虚拟机结构

1:jvm可操作数据类型分为原始类型和引用类型,因此存在原始值和引用值被应用在赋值,参数,返回和运算操作中,jvm希望在运行时 明确变量的类型,即编译器编译成class文件需要对变量进行类型...

xpp_ba
昨天
5
0
聊聊nacos Service的processClientBeat

序 本文主要研究一下nacos Service的processClientBeat Service.processClientBeat nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/core/Service.java public class Service ex......

go4it
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部