metadata

entry3 galeri
    1.
  1. (bkz: üstveri). veritabanında bulunan bilgilere ait bilgilere verilen isim. ing. misal, veritabanında bulunan cari gelir tablomuza ait olan; bu tabloda hangi alanlar var, her bir alanın boyu ve tipi nedir gibi özellikler metadata'dır. metadata bilgilerine ihtiyaç duyulduğunda aşağıdaki kodlar sayesinde erişilebilir.



    --spoiler--
    package com.godoro.samples.jdbc;
    import java.sql.*;
    public class DatabaseMetaDataTest {
    public static void main(String[] args)
    throws Exception
    {
    String driverClass="sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(driverClass);
    String url="jdbc:odbc:mydatasource";
    String username="sa";
    String password="godoro";
    Connection connection = DriverManager.getConnection(url,username,password);
    System.out.println("Connected to database");

    DatabaseMetaData metaData=connection.getMetaData();
    String productName=metaData.getDatabaseProductName();
    String version=metaData.getDatabaseProductVersion();

    System.out.println("Database : "+productName+" "+version);

    ResultSet rs=metaData.getTables(null, null,"%",new String[]{"TABLE"});
    System.out.println("Tablo ?simleri");
    while(rs.next()){
    System.out.println(rs.getString("TABLE_NAME"));
    }
    }

    }
    --spoiler--

    bu döngüden döndükten sonra aşağıdaki kodla result.getdata methodu çağrılarak metadata'ya ulaşılmış olur.

    --spoiler--

    package com.godoro.samples.jdbc;
    import java.sql.*;
    public class ResultSetMetaDataTest {

    public static void main(String[] args)
    throws Exception
    {
    String driverClass="sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(driverClass);
    String url="jdbc:odbc:mydatasource";
    String username="sa";
    String password="godoro";
    Connection connection = DriverManager.getConnection(url,username,password);
    System.out.println("Connected to database");

    Statement stmt=connection.createStatement();
    ResultSet rs=stmt.executeQuery("select * from BankAccount");
    ResultSetMetaData metadata=rs.getMetaData();
    System.out.println("Column count : "+metadata.getColumnCount());
    for(int i=1;i<metadata.getColumnCount()+1;i++){
    System.out.println(metadata.getColumnName(i)+" "+metadata.getColumnTypeName(i));
    }

    }

    }

    --spoiler--
    0 ...