Saturday, June 3, 2017

Berhubungan dengan Schema : Menggunakan Connection untuk membaca Schema

Schema database tersimpan didalam DOKUMENTASI TERTULIS (kalau ada), atau didalam pikiran sang pembuat (kalau ingat), atau didalam DBMS secara terstruktur.

Kita akan menggunakan program untuk melakukan akses schema :

  1. Menampilkan judul tabel-tabel didalam database yang dicontohkan : sample. Bagaimanakah cara penulisan lengkapnya : jdbc:/derby:/127.0.0.1:1527 /sample
  2. Kita akan menampilkan tabel-tabel.
  3. Kita akan menampilkan kolom salah satu tabel. 
Cara yang harus dilakukan :
  1. Membuat koneksi
  2. Membuat object DatabaseMetaData
  3. Dari object diatas diambil object ResultSet yang mengandung nama tabel-tabel
  4. Mengambil kolom-kolom dan disimpan didalam ResultSet.
Contoh program singkatnya adalah :


package javadatabaseschema;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author joko adianto
 * this sourcode is released under GPLv 3.
 */
public class JavaDatabaseSchema {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws 
            ClassNotFoundException, 
            InstantiationException, 
            IllegalAccessException, 
            SQLException {
        // TODO code application logic here
        Connection con;
        DatabaseMetaData dmd;
        ResultSet rst;
        Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
        
        con = DriverManager.getConnection("jdbc:derby://localhost:1527/sample", 
                "app", "app");
        System.out.println("con.getCatalog() : " + con.getCatalog());
        System.out.println("con.getSchema() : " + con.getSchema());
        dmd = con.getMetaData();
        System.out.println("dmd.getCatalogTerm() : " + dmd.getCatalogTerm());
        rst = dmd.getSchemas();
        while(rst.next()){
            System.out.println(rst.getString(1) + " " 
                    +rst.getString(2));
        }
        rst = dmd.getCatalogs();
        while(rst.next()){
            System.out.println(rst.getString(1) + " " 
                    +rst.getString(2));
        }
        rst = dmd.getTables(null, null, null, 
        null);
        System.out.println("List of tables: "); 
        while (rst.next()) {
            System.out.println(
            rst.getString(1) 
            + ", "+rst.getString(2)
            + ", "+rst.getString(3)
            + ", "+rst.getString(4)
            + ", "+rst.getString(5)); 
        }
        
        System.out.println("List of Columns: "); 
        rst = dmd.getColumns(null, null,"CUSTOMER", "CUSTOMER_ID");
        while (rst.next()) {
            System.out.println(
            rst.getString(1) 
            + ", "+rst.getString(2)
            + ", "+rst.getString(3)
            + ", "+rst.getString(4)
            + ", "+rst.getString(5)); 
        }
        
        
        con.close();
        
        
    }
    
}

No comments:

Post a Comment