有没有办法使用Spring的SimpleJdbcTemplate获取数据库中所有表名的列表?
正在查询的数据库是Oracle,如果这有任何帮助.谢谢.
Jas*_*man 14
Spring有一个DatabaseMetaDataCallback对象可以处理duffymo所链接的解决方案的某些锅炉板方面.然后,您可以在调用时传递该对象JDBCUtils.extractDatabaseMetaData.
可以在此处找到您尝试使用这些类进行相同调用的示例.
该链接的示例代码:
类:
class GetTableNames implements DatabaseMetaDataCallback {
public Object processMetaData(DatabaseMetaData dbmd) throws SQLException {
ResultSet rs = dbmd.getTables(dbmd.getUserName(), null, null, new String[]{"TABLE"});
ArrayList l = new ArrayList();
while (rs.next()) {
l.add(rs.getString(3));
}
return l;
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
GetTableNames getTableNames = new GetTableNames();
try {
Object o = JdbcUtils.extractDatabaseMetaData(dataSource, getTableNames);
System.out.println(o);
} catch (MetaDataAccessException e) {
System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)
您始终可以使用Connection随意获取java.sql.DatabaseMetaData。SimpleJdbcTemplate中没有任何方法可以帮助您,但是坦率地说没有必要。
DatabaseMetaData md = c.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
System.out.println(rs.getString("TABLE_NAME"));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10098 次 |
| 最近记录: |