我的 Java 项目中存在游标泄漏问题。
典型例子:
private void doSomething() throws Exception {
String sql1= "some sql statement";
String sql2= "some other sql statement";
PreparedStatement ps = null;
ResultSet rs = null;
try {
Connection con = getConnection();
ps = con.prepareStatement(sql1);
rs = ps.executeQuery();
//do something with the ResultSet rs
//[Need to call ps.close here. Otherwise I risk getting ORA-01000.]
ps = con.prepareStatement(sql2);
ps.executeQuery();
} catch (Exception e) {
} finally {
ps.close();
rs.close();
}
}
由于我有一个相当大的代码库,我希望能够找到所有具有两个或多个名为sql
.
交替查找具有两个(或多个)调用 prepareStatement 的方法,而无需ps.close;
在两者之间调用。
我正在使用 Eclipse,文件搜索有一个正则表达式选项。也许这就是要走的路?如果是这样,它会是什么样子?