准备与Statement.RETURN_GENERATED_KEYS
某些 JDBC 驱动程序返回的唯一方法是执行以下操作:Statement.RETURN_GENERATED_KEYS
long key = -1L;
Statement statement = connection.createStatement();
statement.executeUpdate(YOUR_SQL_HERE, Statement.RETURN_GENERATED_KEYS);
ResultSet rs = statement.getGeneratedKeys();
if (rs != null && rs.next()) {
key = rs.getLong(1);
}
有没有办法做同样的事情?PreparedStatement
编辑
我问我是否可以做同样的事情的原因考虑以下场景:PreparedStatement
private static final String SQL_CREATE =
"INSERT INTO
USER(FIRST_NAME, MIDDLE_NAME, LAST_NAME, EMAIL_ADDRESS, DOB)
VALUES (?, ?, ?, ?, ?)";
在表中有一个 is a (因此,为什么您在字符串中看不到它。USER
PRIMARY KEY (USER_ID)
BIGINT AUTOINCREMENT
SQL_CREATE
现在,我填充了使用.我想回来。我怎样才能做到这一点??
PreparedStatement.setXXXX(index, value)
ResultSet rs = PreparedStatement.getGeneratedKeys()