最近要做一个数据字典的工具,看了一下DatabaseMetaData的使用,做个备忘示例!
- package com.database.manager;
- import java.sql.Connection;
- import java.sql.DatabaseMetaData;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- /**
- * @author daoger
- *
- * 2009-9-24
- */
- public class DatabaseMetaDateApplication
- {
- private DatabaseMetaData dbMetaData = null;
- private Connection con = null;
- private void getDatabaseMetaData()
- {
- try
- {
- if (dbMetaData == null)
- {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- String url = "jdbc:oracle:thin:@192.168.0.2:1521:×××";
- String user = "×××";
- String password = "×××";
- con = DriverManager.getConnection(url, user, password);
- dbMetaData = con.getMetaData();
- }
- } catch (ClassNotFoundException e)
- {
- // TODO: handle ClassNotFoundException
- e.printStackTrace();
- } catch (SQLException e)
- {
- // TODO: handle SQLException
- e.printStackTrace();
- }
- }
- public void colseCon()
- {
- try
- {
- if (con != null)
- {
- con.close();
- }
- } catch (SQLException e)
- {
- // TODO: handle SQLException
- e.printStackTrace();
- }
- }
- /**
- * 获得数据库的一些相关信息
- */
- public void getDataBaseInformations()
- {
- try
- {
- System.out.println("URL:" + dbMetaData.getURL() + ";");
- System.out.println("UserName:" + dbMetaData.getUserName() + ";");
- System.out.println("isReadOnly:" + dbMetaData.isReadOnly() + ";");
- System.out.println("DatabaseProductName:" + dbMetaData.getDatabaseProductName() + ";");
- System.out.println("DatabaseProductVersion:" + dbMetaData.getDatabaseProductVersion() + ";");
- System.out.println("DriverName:" + dbMetaData.getDriverName() + ";");
- System.out.println("DriverVersion:" + dbMetaData.getDriverVersion());
- } catch (SQLException e)
- {
- // TODO: handle SQLException
- e.printStackTrace();
- }
- }
- /**
- * 获得该用户下面的所有表
- */
- public void getAllTableList(String schemaName)
- {
- try
- {
- // table type. Typical types are "TABLE", "VIEW", "SYSTEM
- // TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS",
- // "SYNONYM".
- String[] types =
- { "TABLE" };
- ResultSet rs = dbMetaData.getTables(null, schemaName, "%",