DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Benoy has posted 1 posts at DZone. View Full User Profile

Listing schema,table,column names in java using mysql db

01.17.2014
| 4571 views |
  • submit to reddit
 package com.dataconnect.test.util;

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

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class SchemaDetailsTest {

   private static Logger log = LoggerFactory
       .getLogger(SchemaDetailsTest.class);

   public static void main(String args[]) throws Exception {

     String databaseName = "myDbName";
     String userName = "username";
     String password = "password";
     String mySQLPort = "3306";
     String hostUrl = "127.0.0.1";

     // Setup the connection with the DB
     Class.forName("com.mysql.jdbc.Driver");

     Connection conn = DriverManager.getConnection("jdbc:mysql://" + hostUrl
         + ":" + mySQLPort, userName, password);

     // --- LISTING DATABASE SCHEMA NAMES ---
     ResultSet resultSet = conn.getMetaData().getCatalogs();

     while (resultSet.next()) {
       log.info("Schema Name = " + resultSet.getString("TABLE_CAT"));
     }
     resultSet.close();

     // --- LISTING DATABASE TABLE NAMES ---
     String[] types = { "TABLE" };
     resultSet = conn.getMetaData()
         .getTables(databaseName, null, "%", types);
     String tableName = "";
     while (resultSet.next()) {
       tableName = resultSet.getString(3);
       log.info("Table Name = " + tableName);
     }
     resultSet.close();

     // --- LISTING DATABASE COLUMN NAMES ---
     DatabaseMetaData meta = conn.getMetaData();
     resultSet = meta.getColumns(databaseName, null, tableName, "%");

     while (resultSet.next()) {
       log.info("Column Name of table " + tableName + " = "
           + resultSet.getString(4));
     }
   }
}