首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MyBatis + MySQL返回插入成功后的主键id

这是最近在实现perfect-ssm中的一个功能时碰到的一个小问题,觉得需要记录一下,向MySQL数据库中插入一条记录后,需要获取此条记录的id值,以生成对应的key值存入到redis中,id为自增int...add_name) values(#{articleTitle},#{articleCreateDate},#{articleContent},#{addName}) 这种方式只是返回一个影响行数值...,并不能满足此次需求,于是做了如下修改: <insert id="insertArticle" useGeneratedKeys="true" keyProperty="id" parameterType...=null); System.out.println("insert后article的id:"+article.getId()); } 结果如下: ?...mysql中表的记录如下: ? 结语 首发于我的个人博客,新的项目演示地址:perfect-ssm,登录账号:admin,密码:123456 ?

3.9K60

Python3 操作 MySQL 插入一条数据返回主键 id的实例

Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入数据 #!...和 conn.insert_id() 时一定要在 conn.commit() 之前 由于数据库的安全机制决定,其中一个进程执行完成一条语句时,此时只有这个进程能看到数据。...如果想要其他的进程也能看到数据,就需要使用 conn.commit() 提交,这样就保证了多进程同时操作数据库而不会冲突 但是多线程并发插入的时候就不行了,因为多线程是共享数据的,而且在 Python...中并没有所谓的真正多线程,建议使用多进程 补充拓展:mysql插入一条数据后得到插入后的主键id值 ** 当我们涉及多表进行插入操作是,常常需要在程序中等到刚刚插入数据的主键Id, 便与进行多表关联...="id" SELECT LAST_INSERT_ID() AS id </selectKey 以上这篇Python3 操作 MySQL 插入一条数据返回主键 id的实例就是小编分享给大家的全部内容了

2.8K10

MySQL 数据库表格创建、数据插入及获取插入ID:Python 教程

检查表格是否存在 您可以通过使用"SHOW TABLES"语句列出数据库中的所有表格来检查表格是否存在: 示例返回系统中的表格列表: import mysql.connector mydb = mysql.connector.connect...INT AUTO_INCREMENT PRIMARY KEY") 插入数据到表格 要在MySQL中填充表格,请使用"INSERT INTO"语句。...executemany() 方法的第二个参数是包含要插入数据的元组列表: 示例填充 "customers" 表格的数据: import mysql.connector mydb = mysql.connector.connect...获取插入ID 您可以通过询问游标对象来获取刚刚插入的行的ID。 注意:如果插入多行,将返回最后插入行的ID。...示例插入一行,并返回ID: import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername

21320

【MyBatis框架点滴】——mybatis插入数据返回主键(mysql、oracle)

主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A、B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键。...比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */...id }   这里总结一下mybatis插入数据返回主键的4种情况:mysql环境下主键自增、mysql环境下主键为uuid、mysql环境下主键自增、mysql环境下主键为uuid。   ...数据库为mysql ---- 主键为自增时(主键为数值类型且自增)   利用mysql的LAST_INSERT_ID()方法获取插入记录的主键,select LAST_INSERT_ID()可以在插入数据后...,查询并返回插入数据的主键(但是单独执行这条语句只会返回0)。

1.9K20

MySQL 插入数据

MySQL 插入数据 MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。...---- 通过命令提示窗口插入数据 以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 runoob_tbl 插入数据 实例 以下实例中我们将向 runoob_tbl 表插入三条数据...在以上实例中,我们并没有提供 runoob_id数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。...实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。...该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

4.7K20

Mybatis使用generatedKey在插入数据返回自增id始终为1,自增id实际返回到原对象当中的问题排查

今天在使用数据库的时候,遇到一个场景,即在插入数据完成后需要返回数据对应的自增主键id,但是在使用Mybatis中的generatedKey且确认各项配置均正确无误的情况下,每次插入成功后,返回的都是...int表示的是插入操作受影响的行数,而不是指的自增长id,那么返回的自增id到底去哪里了呢?...通过下面的Debugg我们知道自增id返回到testGenKey的原对象中去了。 举例示范配置 数据库示例表  generator的配置文件 <jdbcConnection driverClass="com.<em>mysql</em>.jdbc.Driver"...null : sex.trim(); } } 测试及Debugg 编写测试方法测试插入 插入成功后观察对应的变量对应的值 总结:调用Insert后插入操作之后,所得到自增长Id被赋值到原对象当中

1.5K10

Mysql实现获取自增id插入到其他表中

现在有这样一个需求,就是我向A表中插入一条数据id是自增的。...插入之后,还需要向B表中插入一条数据,但是B表中需要保存的数据中要使用刚刚A表自增后的id, 这个其实是一个比较常见的需求,就是两张表之间的一个关联,如果用程序来执行也是很容易实现。...比如我就在用sql执行之后,获取A的id插入到B表中 实现方式如下: insert into A (id,name,code) values (null, "zhagnsan", "zs"); // 注意...A表的id要设置为自增,给null值即可 set @id = @@IDENTITY; // 使用id变量保存刚刚自增生成的id insert into B (id,a_id,name) values...(null, @id, "lisi"); // 使用变量获取A表Id 上面是用自定义变量的形式进行保存的,如果你只是想查一下是多少,可以直接使用: select @@IDENTITY; 好了,如果对你有帮助

3.9K30
领券