Oracle获取所有表名

package com.geostar.geosmarter;

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

public class Test07 {

    public static void main(String[] args) {
        String driver = "oracle.jdbc.driver.OracleDriver";
        String url = "jdbc:oracle:thin:@192.168.30.80:1521:orcl";
        String username = "kettle";
        String password = "123456";
        try {
            Class.forName(driver);
            Connection connection = DriverManager.getConnection(url, username, password);
            DatabaseMetaData metaData = connection.getMetaData();
            /**
             * metaData.getTables(catalog, schemaPattern, tableNamePattern, types)
                catalog 目录名称的
                schema 架构名称模式(一般为用户名,注意大写),null查所有,不能用""代替null
                tableName 表名(null查所有)
                types 表类型的字符串数组。null查所有,不能用""代替null
             * */
            
            ResultSet tables = metaData.getTables( null, username.toUpperCase(), null, new String[]{ "TABLE" } );
            while ( tables.next() ) {
                /**
                 * 返回结果集
                    TABLE_CAT  表所在的数据库名称。
                    TABLE_SCHEM 表架构名称。
                    TABLE_NAME 表名称。
                    TABLE_TYPE 表类型。
                 * */
                String resTableName = tables.getString( "TABLE_NAME" );
                System.out.println(resTableName);
            }
        } catch (ClassNotFoundException e) {
            System.out.println("加载驱动失败!");
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
 

猜你喜欢

转载自blog.csdn.net/luyinxing1/article/details/93755444