/**
* 执行插入操作并且获得新的Id
*
* @param dataSource
* @param sql
* @param params
* @return
* @throws SQLException
*/
public static int insertAndGetId(DataSource dataSource, String sql, Object[] params)
throws SQLException {
Connection con = dataSource.getConnection();
PreparedStatement pstmt = con.prepareStatement(sql);
try {
for (int i = 1; i <= params.length; i++) {
pstmt.setObject(i, params[i - 1]);
}
pstmt.executeUpdate();
ResultSet rs = pstmt.executeQuery("SELECT LAST_INSERT_ID()");
rs.next();
int newId = rs.getInt(1);
rs.close();
return newId;
} finally {
try {
pstmt.close();
} finally {
con.close();
}
}
}
分享到:
相关推荐
介绍了Java获取最后插入MySQL记录的自增ID值的3种方法,有需要的朋友可以参考需要
3、代码分享功能(核心功能),该功能的主要特色是集成了优秀的文本编辑器,支持插入代码、插入链接、插入表情、插入图片、支持在线预览。同时也实现了文件上传(基于struts2的文件上传功能)。 4、代码下载,下载...
里面用到的mysql类,还有sql语句中的函数,都在其它代码中 if($_POST['id']==''){ //INSEART $InsertSQL = sprintf("INSEART INTO cuku_faqcat (`catname`,`list`,`cont`) VALUES (%s ,%s ,%s )", GetSQLValueString...
3.6.4 扩展的登录支持 4 安装 MySQL 4.1 怎样获得MySQL 4.2 MySQL支持的操作系统 4.3 使用MySQL哪个版本 4.4 怎样和何时发布更新版本 4.5 安装布局 4.6 安装MySQL二进制代码分发 ...
4 安装 MySQL 4.1 怎样获得MySQL 4.2 MySQL支持的操作系统 4.3 使用MySQL哪个版本 4.4 怎样和何时发布更新版本 4.5 安装布局 4.6 安装MySQL二进制代码分发 4.6.1 Linux RPM...
如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 代码如下: INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES (‘test9@163.com’, ‘99999’, ...
o 4.1 怎样获得MySQL o 4.2 MySQL支持的操作系统 o 4.3 使用MySQL哪个版本 o 4.4 怎样和何时发布更新版本 o 4.5 安装布局 o 4.6 安装MySQL二进制代码分发 + 4.6.1 Linux RPM注意事项 + 4.6.2 构造客户程序 ...
使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程。 二,使用函数:msyql_insert_id(); 在PHP中,经常需要把插入数据库中的id...
常用的代码 UPDATE `表名` SET `字段名`=ceiling(rand()*500000+500000) WHERE (条件); update `表名` set click=click*0.01 where classid='2' and click>2000 我们经常会遇到使用随机的问题,下面就是一种解决...
防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了。 方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,...
在将数据库从MSSQL迁移到MySQL的过程中,基于业务逻辑的要求,需要在MySQL的自增列插入0值。在MSSQL中是这样完成的: 代码如下: string sql;sql = ” set identity_insert dbo.AppUsers on ” + ” insert dbo....
循环插入: 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter < 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_...
1.插入的数据来源自其他表 表A有id, cola 字段 表B有id, cola, colb…等字段,其中id都为主键,cola为相同名字的列 现想将表B中colb>1000的记录都插入表A中,SQL语句可以这样写: 代码如下: insert into A(id,cola)...
小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,balabala……” ...
测试时没有数据,便安装了一个MySql,建了张表,在建了个while循环批量插入10W条测试数据的时候,执行时间之长无法忍受,便查资料找批量插入优化方法,这里做个笔记。 数据结构 寻思着分页时标准列分主键列、索引列...
对比一下,首先是用 mysql 的存储过程弄的: 代码如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> create procedure test() begin declare i decimal (10) default 0 ; dd:loop INSERT INTO `million` (`...
可以插入前进行判断要插入的数据是否存在业务代码如下 : INSERT INTO t_topic_vistor(user_id,topic_code) SELECT '218', 'XQ33019920170811142528217' FROM DUAL WHERE NOT EXISTS(SELECT * FROM t_topic_vistor ...
全国省市区数据sql脚本基于mysql数据库,资源来自于中国IT技术论坛 /* ITBBS.cn 提供数据 */ DROP TABLE IF EXISTS `chinafar_region`; CREATE TABLE `chinafar_region` ( `region_id` smallint(5) unsigned NOT ...
MYSQL国家和国籍列表导入 使用此mysql将国家和/或国籍列表导入数据库。 清单类型 简单的国家/地区代码和名称 InnoDB的简单国家/地区代码和名称 详细的国家信息 JSON数组 PHP数组 SQL导入包含以下信息 表名称:apps_...
1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. ...