【记录】mybatis获取刚刚插入到数据库的数据的id

  有时候我们需要mybatis获取insert 后的id,现有两种解决方案

方案一:

<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
      SELECT LAST_INSERT_ID()
    </selectKey>

  

方案二:

 <insert id="insert" parameterType="com.xxx" useGeneratedKeys="true" keyProperty="id">

  

再强调一下,AFTER     BEFORE必须大写

参考地址:https://blog.csdn.net/hehuihh/article/details/82800739

原文地址:https://www.cnblogs.com/wbl001/p/12244331.html

时间: 2024-09-27 04:24:11

【记录】mybatis获取刚刚插入到数据库的数据的id的相关文章

Mybatis中文模糊查询,数据库中有数据,但无结果匹配

1.Mybatis中文模糊查询,数据库中有数据,但无结果匹配 1.1 问题描述: Mybatis采用中文关键字进行模糊查询,sql语句配置无误,数据库有该数据,且无任何报错信息,但无查询结果 1.2 解决方法: 修改数据库连接地址: url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8 其中,characterEncoding=UTF-8必须写在第一位 原文地址:https://www.cnblogs.com/caoleiCod

MyBatis在insert插入操作时返回主键ID的配置

转:http://www.cnblogs.com/icerainsoft/p/4648900.html 很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键. 但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数... 接下来,我们看看MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的id绑定到对象中. MySQL用法: <insert id=&qu

mybatis获取当前插入记录的id

问题:mybatis会自动生成一个insert方法如(用的是MySQL数据库): <insert id="insert" parameterType="cn.hnne.iclt.model.Task" >     <selectKey resultType="java.lang.Integer" keyProperty="ictl_otaid" order="BEFORE" >   

mybatis获得刚刚插入的自增的值

转自这里 在http://blog.csdn.net/zhangwenan2010/article/details/7579191   介绍了MyBatis 3 的配置过程, 其中,Product 类的 id 属性,在真实项目中,它的值是唯一的,以便确定对应的数据. 要在Java 中自动生成这样的 id 值,必然要进行额外的运算来找到一个唯一的 id 值,那么一旦需要存储大量的数据,这个问题就有可能成为瓶颈. 那么,解决方案是? 其实大多数主流数据库都已经提供了自动生成唯一id 值的解决方案,我

关于hibernate插入mysql数据库中文数据乱码处理

这几天在学习hibernate,在程序中将利用hibernate将数据插入的mysql数据库的时候,发现出现了中文乱码,在网上搜索了好长时间,大概的解决方法都是修改my.ini的配置文件,修改为gbk,但是插入数据还是出现乱码的情况.不过最后还是解决了.下面就说一下解决的方法. 1.找到MySql Server Instance onfiguration Wizard管理器,重新配置mysql.如图.前面的配置可以一路下一步,到了图中这一步要修改语言为gbk. 2.要删除之前建立的数据库,重新利

mybatis 做 insert操作的时候返回插入的那条数据的id

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:吃丸子的小鹿链接:http://www.zhihu.com/question/20810321/answer/16843223来源:知乎 对于支持自动生成主键的数据库(如SQL Server),可以采用以下方式 <insert id="xxx" parameterType="yyy" useGeneratedKeys="true" keyProperty="

JDBC Insert语句插入Oracle数据库返回数据主键

表结构: create table test( id varchar2(32) primary key, name varchar2(32) ); import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Test { /** * 使用S

JSP 插入到数据库的数据出现 “SQLServerException: 将截断字符串或二进制数据” 错误解决方案

最近在编写一个小型基于的jsp系统开发.掌握数据库一直感觉还不错.但是今天就出现了一个问题困扰我大半天.后来本来准备睡觉,但是觉得今天不解决这个问题恐怕晚上是"彻夜难眠啊"!!于是打开电脑,又开始捣腾.遇到问题首先去网上search了一下.但是大多数的结果只能说:只能远看而不能解决我的问题. 首先我说一下我的情况:数据库中的数据类型和长度基本合适.用sql语句新建一条数据,杠杠的没问题!但是回到jsp中,提交表单最后给我一个伤心的结果.屡试屡败,屡败屡试.结果: "SQLSe

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

第一步: 在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名! <insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> insert into spares(spares_id,spares_na