有时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 "";
}
分享到:
相关推荐
为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try (Connection conn = DriverManager.getConnection(url, user, password))...
本篇文章将详细讲解如何利用JDBC进行数据操作封装,包括增删查改(CRUD)的基本操作,以及如何对多条数据进行事务处理,并将结果返回到对象集合和List中。 首先,我们需要理解JDBC的基本步骤: 1. **加载驱动**:...
Java获取新insert数据自增id的实现方法 Java获取新insert数据自增id的实现方法主要介绍了在Java中获取新insert数据自增id的实现方法。该方法在实际应用中非常重要,因其可以对主从表结构的设计产生重要影响。 在...
### MySQL的插入问题:如何获取自动增长的ID ...在使用Java程序通过JDBC接口插入记录时,推荐使用`PreparedStatement`的`getGeneratedKeys()`方法来获取自动生成的ID,以确保数据的完整性和安全性。
当数据插入成功后,往往需要获取这个自增长的ID,以便于后续的业务处理或者关联其他表的数据。因此,在MyBatis中提供了一种机制来获取自增长的ID。 #### 三、通过`useGeneratedKeys`与`keyProperty`属性获取自增ID ...
然而,在某些特定配置下,例如当`hibernate.temp.use_jdbc_metadata_defaults`属性被设置为`false`时,Hibernate将不再使用默认的元数据获取方式,可能导致了这个额外的`select`查询。 `hibernate.temp.use_jdbc_...
更新CLOB字段通常涉及先获取原始数据,修改后再更新回去。可以使用CallableStatement来执行存储过程,或者使用PreparedStatement的setClob方法来更新Clob值。 4. 删除CLOB数据: 删除CLOB字段的操作相对简单,只需...
5. **结果集处理**: `ResultSet`对象是执行查询后返回的结果,可以通过迭代遍历获取每一行数据。使用`next()`方法移动到下一行,通过`getString()`, `getInt()`, `getDate()`等方法获取列值。 6. **数据库设计**: ...
MySQL JDBC URL(Java Database Connectivity Uniform Resource Locator)是Java应用程序连接MySQL数据库时...在阅读提供的`Mysql JDBC URL连接参数表.doc`文档后,可以获取更详尽的参数列表和解释,以获得全面的指导。
Spring Boot 使用 JDBC 获取相关数据详解 Spring Boot 是一种基于 Java 语言的现代化 Web 框架,旨在简化基于 Spring 框架的应用程序开发。JDBC(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API...
JDBC为数据库开发人员提供了一种标准方法来访问执行SQL语句并且获取结果集。本文将详细介绍如何使用JDBC来操作MySQL数据库,包括必要的准备工作以及具体的实现步骤。 #### 二、JDBC连接MySQL的关键步骤 为了能够...
String upd = "insert into test (id, name) values (1001, 'zhsp1029')"; int count = stmt.executeUpdate(upd); ``` 常见参数 在 JDBC URL 中,可以添加一些参数来配置连接的行为,例如: * user:用户名 * ...
String sql = "INSERT INTO employees (id, name, salary) VALUES (?, ?, ?)"; PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setInt(1, 1001); pstmt.setString(2, "John Doe"); pstmt....
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql:...
jdbcTemplate.update("INSERT INTO addresses(user_id, address) VALUES (LAST_INSERT_ID(), ?)", address); } } ``` ### 5. 异常处理 JDBC操作通常涉及数据库操作,可能抛出`SQLException`。在Spring中,可以...
提交页面则会收集用户输入的留言信息,通过JSP的内置对象如`request`来获取表单数据,并使用JDBC接口将这些数据插入到数据库。 JDBC的工作流程包括以下步骤: 1. 加载驱动:在JSP中,我们需要先加载对应的数据库...
新闻页面的实现还可能涉及到动态网页技术,如JSP(JavaServer Pages)或Servlet,它们与JDBC结合,接收用户的请求,通过JDBC获取新闻数据,然后动态生成HTML响应返回给用户。 总结来说,"用JDBC编写新闻页面"这个...
这段代码从数据库中查询BLOB字段,获取InputStream,然后将数据写入一个新的文件。注意,为了提高性能,这里使用了BufferedInputStream和BufferedOutputStream进行缓冲操作。 在实际应用中,确保正确处理异常并关闭...
- **ResultSet对象**:执行查询后返回的结果集,提供迭代访问数据的方法。 - **游标管理**:包括`next()`方法移动到下一行,`previous()`返回上一行,以及定位到特定行。 ### 5. 数据库事务 - **事务控制**:`...
- 使用`SELECT LAST_INSERT_ID()`语句来获取MySQL中最后插入记录的ID。 ##### 2.2 JDBC方法 除了使用MyBatis等ORM框架之外,还可以直接使用JDBC API来实现获取自增ID的功能。这种方式更底层,但也更加灵活。 ```...