原理:
在Mysql中同一个连接执行了insert语句,接着执行SELECT LAST_INSERT_ID()可以获得刚刚插入的自增。
下面公开一段相关的Java代码
/**
* 执行插入操作并且获得新的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();
}
}
}
分享到:
相关推荐
2. **MySQL的技术特点**:MySQL是一个多线程的SQL服务器,支持多种客户端程序和库,具有广泛的API和管理工具。它是开源的,这意味着源代码公开,用户可以自由使用、修改和分发。此外,MySQL还具有高度的可移植性,...
MySQL作为一个开源项目,其源代码是完全公开的,任何人都可以免费使用、修改和分发。同时,MySQL可以在多个操作系统平台上运行,包括Linux、Windows、macOS等,使得开发人员可以根据自己的需求选择合适的平台进行...
首先,MySQL是一个开源的SQL数据库,这意味着它的源代码是公开的,任何人都可以免费使用、修改和分发。它支持多种操作系统,如Windows、Linux和macOS,且广泛应用于Web应用程序中。MySQL由瑞典的MySQL AB公司创建,...
- **免费性与开源**:MySQL 不仅免费提供使用,而且其源代码也是公开的,这意味着开发者不仅可以免费使用它,还可以深入研究其内部工作机制,甚至可以根据自己的需求对其进行修改和定制。 - **获取方式**:可以通过...
在本项目中,基于Springboot+Mybatis+Mysql,开发者构建了一个完整的网盘系统,用户可以通过系统接口进行文件的上传、下载,同时系统可能还包含了文件的分类管理、版本控制、分享功能等,以满足不同用户的需求。...
【eNews新闻发布系统 v1.0(JSP+MYSQL)】是一个基于Java服务器页面技术(JSP)和MySQL数据库构建的新闻管理系统。这个系统的核心功能是为网站提供新闻内容的发布、管理和展示,使得非技术人员也能方便地进行日常的...
而`guestbook_v2.0`可能是一个更新版本的源代码包,包含了对原始留言本的一些改进或新功能,如增加回复功能、添加用户验证、改进界面设计或者优化查询性能。 整个系统的工作流程大致如下:用户在浏览器中打开`...
3. **数据库交互**:每上传一个文件,相关信息(如文件名、上传时间、用户ID、文件路径等)应该被存储在数据库中。由于提到缺少MySQL脚本,这部分可能需要开发者自行创建,包括数据库结构和相应的插入、查询操作。 ...
3. **设置MySQL数据库**:创建一个新的数据库以及对应的表结构,用于存放DMOZ的数据。表的设计应考虑DMOZ的数据结构,如类别、子类别、网址、描述等。 **脚本解析过程** `dmoz2mysql_v3`是该PHP脚本的核心部分,它...
PHP新闻系统是一个基于PHP编程语言开发的简单易懂的信息发布平台,主要功能是允许游客浏览新闻,管理员进行后台管理,以及新闻编辑员撰写和发布新闻。这个系统为初学者提供了一个很好的实践环境,了解PHP的基础语法...
例如,添加一个新学生: ```sql INSERT INTO Students (name, student_id, score) VALUES ('张三', 2023001, 90.5); ``` - **Read**(读取):查询数据。可以按条件查询特定的学生: ```sql SELECT * FROM Students ...
5. 数据导入与管理:ajing.sql文件很可能是一个SQL脚本,用于在数据库中创建表结构并插入数据。开发者需要熟悉SQL语言,使用数据库管理工具(如MySQL Workbench、phpMyAdmin等)来执行该脚本,将数据导入到自己的...
首先,我们来看"code == pid"这个描述,这表明文件中的每个行政区域都有一个唯一的编码(code),并且这个编码代表了其上级行政区的ID(pid)。这种层级关系的表示方法常见于树形结构的数据组织中,使得我们可以快速...
"pl"通常代表“production level”,意味着这是一个可供公开使用的稳定版本。 在压缩包"prevnext-1.0.1-pl"中,可能包含以下组件: 1. **snippet**:MODX中的snippet是一种可重用的代码片段,可以嵌入到页面模板中...
【标题】"基于PHP的华优家教网站(开源版)php版源码.zip" 提供的是一个基于PHP编程语言开发的开源家教网站源代码。这个项目旨在为教育机构或个人提供一个在线平台,方便家教老师与学生之间的联系和教学服务的管理。 ...
需要创建一个表来存储图片的路径和描述,例如,表结构可能包含`id`(主键)、`image_path`(图片路径)、`description`(描述)等字段。 7. **预处理语句**:为了防止SQL注入,应该使用预处理语句来插入数据。例如...
接下来,需要创建一个简单的用户表来存储登录信息。例如: ```sql CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(64) NOT NULL, password VARCHAR(64) NOT NULL, email VARCHAR...
由于只有一个文件名 "132699126144009957",这可能是一个随机生成的文件ID或者是时间戳,用于区分不同的数据或版本。在压缩包中,这可能是源代码文件的名称,或者是记录程序运行日志或配置信息的文件。然而,没有...
在本项目中,你将发现一个团队合作的成果,同时也融入了网络上公开的资源,这表明了开发者对知识共享与学习的态度。 首先,C#(读作"C Sharp")是微软公司推出的一种面向对象的编程语言,它被广泛用于Windows桌面...
JSP的工作原理是:当用户请求一个JSP页面时,服务器会将JSP转换成对应的Servlet(Java代码),然后执行这个Servlet来生成响应内容。 在开发【新闻发布系统】时,通常会涉及到以下几个关键知识点: 1. **数据库设计...