Get list of all table names from spring SimpleJdbcTemplate
java, spring-jdbc
Solution
Spring has a `DatabaseMetaDataCallback` object that can take care of some of the boiler plate aspects of the solution that duffymo has linked to. You can then pass that object when calling `JDBCUtils.extractDatabaseMetaData`.
An example of making the same call you're trying to make with those classes can be found here.
Sample code from that link:
Class:
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;
}
}
Usage:
GetTableNames getTableNames = new GetTableNames();
try {
Object o = JdbcUtils.extractDatabaseMetaData(dataSource, getTableNames);
System.out.println(o);
} catch (MetaDataAccessException e) {
System.out.println(e);
}
Problem
Is there a way to obtain the list of all table names in the database using Spring's SimpleJdbcTemplate? The database being queried is Oracle if that helps in any way. Thanks.