`

jdbc insert数据后获取ID

阅读更多

有时insert数据,数据ID为自动生成,需要获取ID。

 

以下就是获取ID的方法:

public static String insertByID(String sql,IDataBaseBean bean,ArrayList<Object> keyvalueList,ArrayList<Class<?>> classtypeList,SingleDataSource datasource) throws SQLException{
	Connection conn = null;
	try {
		conn = datasource.getConnection();
                //这里设置返回值
		PreparedStatement ps = conn.prepareStatement(sql,new String[]{"ID"});
		setPreparedValue(ps, keyvalueList, classtypeList);//设置preparedStatement值
		ps.executeQuery();
		ResultSet rs = ps.getGeneratedKeys(); 
		if(rs!=null && rs.next())
		{
			return String.valueOf(rs.getInt(1));//返回主键值
		}
	} finally {
		if(conn!=null)
			conn.close();
	}
	return "";
}

 

 

 

 

 

分享到:
评论

相关推荐

    jdbc 插入记录并返回自增主键值

    为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try (Connection conn = DriverManager.getConnection(url, user, password))...

    java获取新insert数据自增id的实现方法

    Java获取新insert数据自增id的实现方法 Java获取新insert数据自增id的实现方法主要介绍了在Java中获取新insert数据自增id的实现方法。该方法在实际应用中非常重要,因其可以对主从表结构的设计产生重要影响。 在...

    JDBC数据操作封装

    本篇文章将详细讲解如何利用JDBC进行数据操作封装,包括增删查改(CRUD)的基本操作,以及如何对多条数据进行事务处理,并将结果返回到对象集合和List中。 首先,我们需要理解JDBC的基本步骤: 1. **加载驱动**:...

    mysql的插入问题 怎么获得自动增长的ID

    ### MySQL的插入问题:如何获取自动增长的ID ...在使用Java程序通过JDBC接口插入记录时,推荐使用`PreparedStatement`的`getGeneratedKeys()`方法来获取自动生成的ID,以确保数据的完整性和安全性。

    mybatis获取自增ID

    当数据插入成功后,往往需要获取这个自增长的ID,以便于后续的业务处理或者关联其他表的数据。因此,在MyBatis中提供了一种机制来获取自增长的ID。 #### 三、通过`useGeneratedKeys`与`keyProperty`属性获取自增ID ...

    解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

    然而,在某些特定配置下,例如当`hibernate.temp.use_jdbc_metadata_defaults`属性被设置为`false`时,Hibernate将不再使用默认的元数据获取方式,可能导致了这个额外的`select`查询。 `hibernate.temp.use_jdbc_...

    jdbc 处理clob类型字段

    更新CLOB字段通常涉及先获取原始数据,修改后再更新回去。可以使用CallableStatement来执行存储过程,或者使用PreparedStatement的setClob方法来更新Clob值。 4. 删除CLOB数据: 删除CLOB字段的操作相对简单,只需...

    javajdbc宠物商店-Mysql数据库_Java项目jdbc_java宠物项目_数据库代码_

    5. **结果集处理**: `ResultSet`对象是执行查询后返回的结果,可以通过迭代遍历获取每一行数据。使用`next()`方法移动到下一行,通过`getString()`, `getInt()`, `getDate()`等方法获取列值。 6. **数据库设计**: ...

    Mysql JDBC Url参数说明

    MySQL JDBC URL(Java Database Connectivity Uniform Resource Locator)是Java应用程序连接MySQL数据库时...在阅读提供的`Mysql JDBC URL连接参数表.doc`文档后,可以获取更详尽的参数列表和解释,以获得全面的指导。

    Spring Boot如何使用JDBC获取相关的数据详解

    Spring Boot 使用 JDBC 获取相关数据详解 Spring Boot 是一种基于 Java 语言的现代化 Web 框架,旨在简化基于 Spring 框架的应用程序开发。JDBC(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API...

    基于JDBC操作数据库

    JDBC为数据库开发人员提供了一种标准方法来访问执行SQL语句并且获取结果集。本文将详细介绍如何使用JDBC来操作MySQL数据库,包括必要的准备工作以及具体的实现步骤。 #### 二、JDBC连接MySQL的关键步骤 为了能够...

    eclipse jdbc

    String upd = "insert into test (id, name) values (1001, 'zhsp1029')"; int count = stmt.executeUpdate(upd); ``` 常见参数 在 JDBC URL 中,可以添加一些参数来配置连接的行为,例如: * user:用户名 * ...

    jdbc

    String sql = "INSERT INTO employees (id, name, salary) VALUES (?, ?, ?)"; PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setInt(1, 1001); pstmt.setString(2, "John Doe"); pstmt....

    springmvc+jdbc数据库实例

    &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; &lt;property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/&gt; &lt;property name="url" value="jdbc:mysql:...

    JDBC连接所有代码

    jdbcTemplate.update("INSERT INTO addresses(user_id, address) VALUES (LAST_INSERT_ID(), ?)", address); } } ``` ### 5. 异常处理 JDBC操作通常涉及数据库操作,可能抛出`SQLException`。在Spring中,可以...

    jsp+JDBC留言板

    提交页面则会收集用户输入的留言信息,通过JSP的内置对象如`request`来获取表单数据,并使用JDBC接口将这些数据插入到数据库。 JDBC的工作流程包括以下步骤: 1. 加载驱动:在JSP中,我们需要先加载对应的数据库...

    用JDBC编写新闻页面

    新闻页面的实现还可能涉及到动态网页技术,如JSP(JavaServer Pages)或Servlet,它们与JDBC结合,接收用户的请求,通过JDBC获取新闻数据,然后动态生成HTML响应返回给用户。 总结来说,"用JDBC编写新闻页面"这个...

    使用JDBC4.0操作Oracle中BLOB类型的数据方法

    这段代码从数据库中查询BLOB字段,获取InputStream,然后将数据写入一个新的文件。注意,为了提高性能,这里使用了BufferedInputStream和BufferedOutputStream进行缓冲操作。 在实际应用中,确保正确处理异常并关闭...

    Java获取最后插入MySQL记录的自增ID值的3种方法

    在Java中,你可以通过`CallableStatement`来调用这些函数,然后从结果集中获取ID。 总的来说,对于大多数情况,第一种方法(使用`RETURN_GENERATED_KEYS`)是最可靠的,因为它保证了在多线程环境下的正确性。而其他...

    jdbc使用参考手册

    - **ResultSet对象**:执行查询后返回的结果集,提供迭代访问数据的方法。 - **游标管理**:包括`next()`方法移动到下一行,`previous()`返回上一行,以及定位到特定行。 ### 5. 数据库事务 - **事务控制**:`...

Global site tag (gtag.js) - Google Analytics