Giriş
Şu satırı dahil ederiz
import java.sql.DatabaseMetaData;
Yaşam Döngüsü
DatabaseMetaData nesnesi kendisini yaratan Connection nesnesi hayatta olduğu müddetçe kullanılabilir.
getCatalogs metodu
Şöyle yaparız.
Şöyle yaparız.
ResultSet rs = dm.getCatalogs();
while (rs.next()){
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
SQL Server şunu dönercatalog: master
catalog: msdb
catalog: pubs
catalog: tempdb
getColumns metodu
Örnek
Şöyle yaparız
void readColumns(String tableName, DatabaseMetaData databaseMetaData) { try (ResultSet resultSet = databaseMetaData.getColumns(null, null, tableName, null)) { while (resultSet.next()) { String columnTypeName = resultSet.getString("TYPE_NAME"); String columnName = resultSet.getString("COLUMN_NAME"); String defaultValue = resultSet.getString("COLUMN_DEF"); ... } } catch (SQLException e) { ... } }
getDatabaseProductName metodu
Döndürülen String'den veri tabanı tipini belirlemek için Hibernate şöyle yapıyor. Bazı String'ler şöyle
H2
MySQL
PostgreSQL
Microsoft SQL Server
Oracle
getDatabaseProductVersion metodu
SQL Server şunu döner
Microsoft SQL Server 2000 - 8.00.384 (Intel X86)
May 23 2001 00:02:52
Copyright (c) 1988-2000 Microsoft Corporation
Desktop Engine on Windows NT 5.1 (Build 2600: )
getImportedKeys metodu
Şöyle yaparız.
Şöyle yaparız.
String table = ...;
ResultSet rs = databaseMetaData.getImportedKeys(
con.getCatalog(),
"TEST", //schema
table //table
);
getPrimaryKeys metodu
Şöyle yaparız.
String tableName = ...;
ResultSet rs = databaseMetaDatagetPrimaryKeys(null, null, tableName);
Örnek
Şöyle yaparız
DataSource dataSource = ...try (Connection connection = dataSource.getConnection();) {DatabaseMetaData databaseMetaData = connection.getMetaData();Set<String> pkColumns = readPrimaryKeys(tableName, databaseMetaData);..}Set<String> readPrimaryKeys(String tableName, DatabaseMetaData databaseMetaData) {Set<String> pkColumns = new HashSet<>();try (ResultSet resultSet = databaseMetaData.getPrimaryKeys(null, null, tableName)) {while (resultSet.next()) {String columnName = resultSet.getString("COLUMN_NAME");pkColumns.add(columnName);}} catch (SQLException e) {...}return pkColumns;}
getProcedureColumns metodu
Veritabanındaki Stored Procedure'lara erişmek için kullanılır.
Veritabanındaki Stored Procedure'lara erişmek için kullanılır.
getTables metodu - catalog + schemaPattern + tableNamePattern + types[]
getTables metodu yazısına taşıdım
getUrl metodu
Şöyle yaparız.
String originalURL = databaseMetaData.getURL();
Hiç yorum yok:
Yorum Gönder