Mùa xuân có một đối tượng DatabaseMetaDataCallback
có thể xử lý một số khía cạnh tấm nồi hơi của giải pháp mà duffymo có liên quan đến. Sau đó, bạn có thể chuyển đối tượng đó khi gọi JDBCUtils.extractDatabaseMetaData
.
Ví dụ về việc thực hiện cùng một cuộc gọi mà bạn đang cố thực hiện với các lớp đó có thể được tìm thấy here.
Mẫu mã từ liên kết đó:
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;
}
}
Cách sử dụng:
GetTableNames getTableNames = new GetTableNames();
try {
Object o = JdbcUtils.extractDatabaseMetaData(dataSource, getTableNames);
System.out.println(o);
} catch (MetaDataAccessException e) {
System.out.println(e);
}
Nguồn
2009-11-23 01:49:52
+1 từ tôi - đây là câu trả lời hay nhất cho đến nay. Tốt đẹp. – duffymo