Spring tiene un objeto DatabaseMetaDataCallback
que puede ocuparse de algunos aspectos de la placa de caldera de la solución a la que se ha vinculado duffymo. A continuación, puede pasar ese objeto al llamar al JDBCUtils.extractDatabaseMetaData
.
Puede encontrar un ejemplo de cómo hacer la misma llamada que intenta hacer con esas clases here.
código de ejemplo de ese vínculo:
Clase:
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;
}
}
Uso:
GetTableNames getTableNames = new GetTableNames();
try {
Object o = JdbcUtils.extractDatabaseMetaData(dataSource, getTableNames);
System.out.println(o);
} catch (MetaDataAccessException e) {
System.out.println(e);
}
+1 de mí - esta es la mejor respuesta con diferencia. Bonito. – duffymo