多结果集
在执行存储过程,或者在使用允许在单个查询中提交多个select语句的数据库时,一个查询有可能会返回多个结果集,下面是获取所有结果集的步骤:
- 使用execute方法来执行多个SQL语句
- 获取第一个结果集或更新计数
- 重复调用getMoreResults方法以移动到下一个结果集(这个调用会自动关闭前一个结果集)
- 当不存在更多的结果集时,完成操作
如果有多个结果集构成的链中的下一项是结果集,execute和getMoreResults方法将返回true,,如果在链中的下一项不是更新计数,getUpdateCount方法将返回-1
下面的循环将遍历所有的结果
1 | boolean done=false; |
获取自动生成键
大多数数据库都支持某种在数据库中对行自动计数的机制。但是,不同的提供商所提供的机制之间存在着很大的差异,这些自动计数的值经常用做主键。jdbc提供了获取自动生成键的有效途径。当我们向数据库插入数据时,可以实现下面的代码来获取这个键
1 | stmt.executeUpdate(insertStatement,Statement.RETURN_GENERATED_KEYS); |