java读取ORACLE数据库表字段信息以及注释信息

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/***
 *  2014-07-21日:
 *  oracle数据库, 表结构查询 ,字段信息查询,字段注释查询 
 *  表字段查询 all_tab_columns
 *  表字段注释查询 all_col_comments
 * 
 */
public class OracleTable {
    private static final String DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver";
    private static final String DATABASE_URL = "jdbc:oracle:thin:@192.168.1.10:1521:orcl";
    private static final String DATABASE_USER = "dev";
    private static final String DATABASE_PASSWORD = "dev";
    private static Connection con = null;
     
    public static Connection getConnection() {
        try {
            Class.forName(DRIVER_CLASS);
            con=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
            return con;
        } catch (Exception ex) {
            System.out.println("2:"+ex.getMessage());
        }
        return con;
    }
     
    /***
     * 打印test
     * @throws SQLException
     */
    public static void sysoutStrTablePdmCloumns(String Table,String Owner) throws SQLException{
        getConnection();
         
        List<HashMap<String,String>> columns = new ArrayList<HashMap<String,String>>();
         
        try{
            Statement stmt = con.createStatement();
             
            String sql=
             "select "+
             "         comments as \"Name\","+
             "         a.column_name \"Code\","+
             "         a.DATA_TYPE as \"DataType\","+
             "         b.comments as \"Comment\","+
             "         decode(c.column_name,null,'FALSE','TRUE') as \"Primary\","+
             "         decode(a.NULLABLE,'N','TRUE','Y','FALSE','') as \"Mandatory\","+
             "         '' \"sequence\""+
             "   from "+
             "       all_tab_columns a, "+
             "       all_col_comments b,"+
             "       ("+
             "        select a.constraint_name, a.column_name"+
             "          from user_cons_columns a, user_constraints b"+
             "         where a.constraint_name = b.constraint_name"+
             "               and b.constraint_type = 'P'"+
             "               and a.table_name = '"+Table+"'"+
             "       ) c"+
             "   where "+
             "     a.Table_Name=b.table_Name "+
             "     and a.column_name=b.column_name"+
             "     and a.Table_Name='"+Table+"'"+
             "     and a.owner=b.owner "+
             "     and a.owner='"+Owner+"'"+
             "     and a.COLUMN_NAME = c.column_name(+)" +
             "  order by a.COLUMN_ID";
            System.out.println(sql);
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()){
                HashMap<String,String> map = new HashMap<String,String>();
                map.put("Name", rs.getString("Name"));
                map.put("Code", rs.getString("Code"));
                map.put("DataType", rs.getString("DataType"));
                map.put("Comment", rs.getString("Comment"));
                map.put("Primary", rs.getString("Primary"));
                map.put("Mandatory", rs.getString("Mandatory"));
                columns.add(map);
            }
        }
        catch (SQLException e){
            e.printStackTrace();
        }finally{
            con.close();
        }
    }
    public static void main(String[] args) throws SQLException{
         
        sysoutStrTablePdmCloumns("CT_INFO_CONTRACT_BORROW","DEV");
         
         
    }
     
}

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 读取 Oracle 数据库需要用到 JDBC 驱动程序,以下是读取 Oracle 数据库的基本步骤: 1. 下载 JDBC 驱动程序 从 Oracle 官方网站下载对应版本的 JDBC 驱动程序(`ojdbc.jar`)。将该文件复制到项目的 `lib` 目录下。 2. 加载 JDBC 驱动程序 在 Java 代码中使用 `Class.forName()` 方法加载 JDBC 驱动程序,例如: ``` Class.forName("oracle.jdbc.driver.OracleDriver"); ``` 3. 建立数据库连接 使用 `DriverManager.getConnection()` 方法建立数据库连接,例如: ``` String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 其中,`url` 是数据库连接字符串,`user` 和 `password` 是数据库用户名和密码。 4. 执行 SQL 查询 使用 `Statement` 或 `PreparedStatement` 对象执行 SQL 查询,例如: ``` Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM table_name"); while (rs.next()) { // 处理查询结果 } ``` 其中,`ResultSet` 对象表示查询结果集,`rs.next()` 方法可以逐行遍历结果集。 5. 关闭数据库连接 使用 `Connection` 对象的 `close()` 方法关闭数据库连接,例如: ``` conn.close(); ``` 完整示例代码如下: ``` Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM table_name"); while (rs.next()) { // 处理查询结果 } rs.close(); stmt.close(); conn.close(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值