Java JDBC:如何自动生成主键并将其插入数据库

Java JDBC:如何自动生成主键并将其插入数据库,java,jdbc,oracle11g,Java,Jdbc,Oracle11g,我有一张这样的桌子 创建表ruff(id varchar(25)主键,名称varchar(30)) 我需要从jdbc帮助中自动插入ID的主键。请?在Oracle中定义一个序列,并在yur insert语句的values子句下用Sequence.nextval填充ID 例如 插入褶边(id、名称) 值(您的_sequence.nextval,'name')JDBC不会自动生成ID。通常是数据库完成了这项工作,但即使是数据库也不会在不使用触发器的情况下为VARCHAR(25)生成一个 要检索数据库生

我有一张这样的桌子

创建表ruff(id varchar(25)主键,名称varchar(30))


我需要从jdbc帮助中自动插入ID的主键。请?

在Oracle中定义一个序列,并在yur insert语句的values子句下用Sequence.nextval填充ID 例如 插入褶边(id、名称)
值(您的_sequence.nextval,'name')

JDBC不会自动生成ID。通常是数据库完成了这项工作,但即使是数据库也不会在不使用触发器的情况下为
VARCHAR(25)
生成一个


要检索数据库生成的密钥,可以使用
con.prepareStatement(sql、Statement.RETURN\u生成的密钥),但这可能不适用于触发器生成的值。

您可以在Oracle数据库中定义序列,还可以指定序列的自定义生成方法。当您在表中插入值时,而不是提供来自用户的值,您可以使用先前生成的序列来插入主键

这里介绍了如何检索密钥,即使它们是由触发器生成的。但是对于字符串键,您可以这样做……对于Oracle,您可以使用
语句。RETURN\u GENERATED\u KEYS
您只需要准备好处理这样一个事实,即它不返回生成的id,而是返回
ROWID
,然后可以使用它查询行以获得实际生成的id。