Mybatis添加用户返回id_逗比程序猿^_^的博客-程序员宝宝

技术标签: 框架  

问题   

  在添加用户时,常把一个表的id设为主键,自增,以至于再插入数据的时候,无法直接获取用户id,如果下面操作还需要用到id,那么还要通过查询来获取,浪费资源

解决方案

selectKey标签

<insert id="insertUser" parameterType="com.zhj.domain.User">
	<!-- AFTER:此中语句在插入语句之后执行
         resultType=int: 此中语句执行后的返回类型是 int
         keyProperty="id": 此中语句返回值要 传递给当前方法参数中的id属性 (com.zhj.domain.User的id属性)
         select last_insert_id():mysql特性语句,返回当前事务中,最近一次插入的数据的id-->        
    <selectKey resultType="int" keyProperty="id" order="AFTER">
        select last_insert_id()
    </selectKey>
    insert into t_user (name,gender,create_time)
    values(#{
    name},#{
    gender},#{
    createTime})
</insert>

useGenerateKeys 和 keyProperty属性

<!-- useGeneratedKeys="true" 声明此处添加中id用的是自动增长
     keyProperty="id" 将id值 传递给当前方法的参数中的id属性 (com.zhj.domain.User的id属性)-->
<insert id="insertUser" parameterType="com.zhj.domain.User" useGeneratedKeys="true" keyProperty="id">
    insert into t_user (name,gender,create_time)
    values(#{
    name},#{
    gender},#{
    createTime})
</insert>

  使用以上两种方法时,不能使用insert的返回值来获取id,在insert方法前的返回值,代表的是进行了操作之后影响了多少行数据

  需要用到id的时候,使用 对象.getId(),来获取id

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45085954/article/details/102781741

智能推荐

从炒菜的艺术谈产品研发管理_张元礼的博客-程序员宝宝

  从炒菜的艺术谈产品研发管理作者:张元礼管理来源于生活,服务于生活。在科技之光璀璨耀眼的今天不得不把管理提上日程,其实管理归其根源最终是来源于我们生活的每一个细节,加以提炼形成一套套的管理理论,然后加之实践改良形成如今的管理学。鄙人不是专业厨师,但对于炒菜来说略知一二,故本文就其炒菜这点生活细节来谈谈产品研发管理。我们可以把炒一道菜作为一个产品来运作,客人需要炒一道麻婆豆腐,首先我们

配置文件不能提示配置要用到的标签的问题_WYLNS33669900的博客-程序员宝宝

在进行mybatis的配置的时候没有提示Alt+/没有提示任何信息,可能是没有解析http://mybatis.org/dtd/mybatis-3-config.dtd这个地址的文件信息,一般情况下,连接网络是会自动解析的,但是可能会有解析不了的情况,我们可以把这个文件下载下来,再导入就可以了。可以复制或者点击该网址,将文件下载到本地。接下来Window-----&gt;Preferences这个就是要填的public ID填完后,apply and close 就可以了。Alt+/就会有提

cnn卷积神经网络打造人脸登录系统_weixin_34321977的博客-程序员宝宝

git地址:https://github.com/chenlinzho...本文主要介绍了系统涉及的人脸检测与识别的详细方法,该系统基于python2.7.10/opencv2/tensorflow1.7.0环境,实现了从摄像头读取视频,检测人脸,识别人脸的功能由于模型文件过大,git无法上传,整个项目放在百度云盘,地址:https:/...

文科生如何理解深度学习?_K同学啊的博客-程序员宝宝_mcp模型

大家好,我是K同学啊~在写《深度学习100例》过程中,我发现不少同学对深度学习还没一个概念,简单聊一个深度学习是什么先问大家一个问题还记小时候是怎么学会读文识字的嘛,学习?更具体一点,练习老师在讲台上不断告诉你,这是a,这是b,那是c。回家后,还扔给你一堆作业,不断读、写。久而久之,练习的次数多了,也就会了。我们都知道这是由于我们有一颗强大的大脑,在世界的某一个角落,我们的研究人员灵感来了,要不模仿一下人脑,让机器也能够进行学习~1943年由神经科学家麦卡洛克(W.S.McCilloc

java.io.DataInputStream 类中read()方法 java.io.EOFException 解决方法_xzlAwin的博客-程序员宝宝

java.io.DataInputStream 类中read()方法 java.io.EOFException 解决方法问题描述:用DataInputStream封装ByteArrayInputStream用readInt()方法读取数据时出现EOFException异常。解决方案,int型 在java 中占4个byte。用DataInputStream的available()/4可以获得循环读取

json函数的使用_hi我是大嘴巴的博客-程序员宝宝_json函数

Json模块提供了四个功能:dumps、dump、loads、load 1. dumps 将字典 ——&gt;字符串2. loads: 将 字符串 ——&gt; 字典3.dump 写入json文件4.load 打开json文件import jsonwith open('C:\\Users\\chenyu03\\Deskto...

随便推点

7款ui设计开发初学者必学的设计软件_QF _WEB的博客-程序员宝宝

学习ui设计软件有哪些学习ui设计,想成为优秀的ui设计师,我们必须要有足够的ui知识和熟练使用各类设计软件。那么ui设计软件有哪些呢?学习ui设计的工具软件推荐:photoshop、AI、AE、Axure、Fireworks、CorelDRAW、Flash1、photoshop给各位建议还是使用较新的版本的软件哦!因为一个新版本的功能更加全面,不然的话更新的意义何在呢?你说是吧...

C函数调用过程_leapmotion的博客-程序员宝宝_c 函数调用过程

介绍本文从机器级的层面来介绍下函数的调用过程,读自《深入理解操作系统》第三章虚拟内存虚拟内存是内存管理的一种方式,它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),实际上是对主存和磁盘I/O设备的抽象表示。根据功能不同我们把虚拟内存自上而下(高地址到低地址)划分为我们常见得以下几个部分:内核空间:总是驻留在主存中,一般来说是操作系统的一部分,不为应用使用栈:是由编译器...

Mysql 使用yum 切换源_diyujun6099的博客-程序员宝宝

[[email protected]juny-18 ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)网络yum源已经配好检查系统是否自带有MySQL[[email protected] ~]# yum list installed | grep mysql如果有就用下面这命令来删除Yum remove -y (安装包名)第一步 下载yum库[r...

一些能提高效率的搜索工具_LK_BLOG的博客-程序员宝宝

Ctrl+F大家估计都知道.这个快捷键能在当前窗口中查找内容,可是如果我想在很多文件中查找我关注的内容该怎么办呢?第一个,对于java程序员,eclipse中的查找可以实用Ctrl+H的File Search,这个估计大多数java程序员也都知道,不过为了照顾初学者还是介绍一下吧.第二个,使用Ultra Edit的在文件中查找或在文件中替换.这个功能可能也有不少人用过吧.当然强

mysql启动时报错Can't read from messagefile errmsg.sys_柴米油盐酱醋0的博客-程序员宝宝_can't read from messagefile

&amp;lt;&amp;lt;&amp;lt;启动数据库:mysqld_safe --defaults-file=/etc/my.cnf &amp;amp;报错:150915 13:30:46 [ERROR]  Can't read from messagefile '/data/mysql/mysql-5.5.24/share/mysql/english/errmsg.sys'看了一下这个文件不存在,就去touch了,还是一...

夜光精讲 Opentcs 三大算法(五)路径算法_GeniusTeam-夜光的博客-程序员宝宝_opentcs 路径

夜光序言:生活不只是眼前的苟且,生活还有诗和远方正文:2.Floyd算法Floyd算法是一种经典的动态规划算法,用于解决任意两点之间的最短路问题。时间复杂度为T=0(|V|^3),通常适用于稠密图。Opentcs 路径算法方案确定本研究采用两种算法:Dijkstra多源拓展算法和Floyd算法,根据不同...

推荐文章

热门文章

相关标签