使用PreparedStatement插入如何自动增加ID?

简介: 使用PreparedStatement插入如何自动增加ID?

如何解决使用PreparedStatement插入如何自动增加ID??
将该列 完全 放在INSERT语句之外。它将由数据库引擎生成。您的查询应为: __

INSERT INTO employee (time, name)
VALUES (?, ?)
其次,您必须先执行插入操作,然后再从结果中取出密钥。

我相信您的代码应为:

PreparedStatement preparedStatement =

connect.prepareStatement("INSERT into employee (time, name) VALUES (?,?)", 
Statement.RETURN_GENERATED_KEYS);

preparedStatement.setTimestamp(1,

new java.sql.Timestamp(new java.util.Date().getTime()));                           

preparedStatement.setString(2, "Test");
preparedStatement.executeUpdate();
ResultSet tableKeys = preparedStatement.getGeneratedKeys();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);
请注意,此示例不检查执行的语句是否成功或返回的键是否存在。

解决方法
我有一个PreparedStatement,例如:

PreparedStatement preparedStatement = connect.prepareStatement("INSERT into employee (id,time,name" + "(?,?,?)",Statement.RETURN_GENERATED_KEYS);
ResultSet tableKeys = preparedStatement.getGeneratedKeys();
preparedStatement.executeUpdate();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);
preparedStatement.setInt(1,autoGeneratedID);
preparedStatement.setTimestamp(2,new java.sql.Timestamp(new java.util.Date().getTime()));
preparedStatement.setString(3,"Test");
preparedStatement.executeUpdate();
如您所见,Employee表具有一个自动递增的ID。我基本上也需要使用prepareStatement自动添加它。有人可以告诉我我要去哪里哪里并纠正我吗?现在,这只是给我一个与Statement相关的错误。

声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关文章
|
7月前
|
SQL Java 关系型数据库
JDBC PreparedStatement 字段值为null导致TBase带宽飙升的案例分析
JDBC PreparedStatement 字段值为null导致TBase带宽飙升的案例分析
122 0
|
7月前
|
SQL 存储 Java
MyBatis【付诸实践 02】 mapper文件未编译+statementType使用+返回结果字段顺序不一致+获取自增ID+一个update标签批量更新记录
MyBatis【付诸实践 02】 mapper文件未编译+statementType使用+返回结果字段顺序不一致+获取自增ID+一个update标签批量更新记录
87 0
|
JavaScript 数据安全/隐私保护
去哪儿pre参数分析
去哪儿pre参数分析
156 0
|
SQL 缓存 Java
数据库连接关闭工具类、Statement介绍、PreparedStatement介绍及区别
数据库连接关闭工具类、Statement介绍、PreparedStatement介绍及区别
119 0
|
Java 数据库连接 数据库
Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查...
Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查...
180 0
|
JSON Java 数据库
简单实现数据库的PreparedStatement查询
查询一个数据库的全部记录,并且将其用java list储存起来
184 0
marven编译时:<pre>错误: 不允许使用自关闭元素</pre>
marven编译时:<pre>错误: 不允许使用自关闭元素</pre>
99 0
如何解决MyBatisPlus插入时生成的id为很大的数
如何解决MyBatisPlus插入时生成的id为很大的数
347 0
如何解决MyBatisPlus插入时生成的id为很大的数
|
缓存 Oracle 关系型数据库
JDBC PreparedStatement 批量查询 in 的实现 方案
    我们经常会有这种业务需求,根据一个条件集合去查询一张表的数据,比如: select * from all_element t where t.task_id in (List <taskids>);     在java语言中,我们需要用到JDBC来和数据库打交道,那么在JDBC中该如何处理这种需求呢?我们可以有如下几种处理方式 方案一:写一
2387 0
|
SQL 移动开发 数据库
【第17个代码模型】使用 PreparedStatement 操作数据库(PrepareStatement 查询案例)|学习笔记
快速学习 【第17个代码模型】使用 PreparedStatement 操作数据库(PrepareStatement 查询案例)
219 0