通过 JDBC 获取查询结果的某一行的自增键值(如自增主键),通常要使用如下语句:
ResultSet rs = preparedStatement.getGeneratedKeys();
if (rs.next()) {
int id = rs.getInt(1);
}
有两个需要注意的地方。
1.为什么要用 rs.next()?
ResultSet 是带有头结点的结果集,初始时游标指向第一行之前也就是头结点的位置,只是一个标识。如果不使用next()方法将它指向第一行的话,是什么都得不到的。
2.getInt(1)
getInt() 的参数为columnIndex,即列序号,MySQL 的列序号是从 1 开始的。比如对于下面的表
要获得自增主键 id 也就是第 1 列的值,就要使用 getInt(1)。
原文:https://blog.csdn.net/Neuf_Soleil/article/details/84573744