【Java/JDBC】利用Metadata获取Oracle表字段的注释

前篇:https://www.cnblogs.com/heyang78/p/11991896.html

 

代码:

复制代码
package com.hy.lab.colcomment;

import java.sql.*;
import java.util.Properties;

public class Test {
    /**
     * 取注释的连接有其特殊性
     *
     * @return
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
            Properties pro = new Properties();
            pro.setProperty("user", "luna");
            pro.setProperty("password", "1234");
            pro.put("remarksReporting", "true");// 注意这里不可或缺

            conn = DriverManager.getConnection(url, pro);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    public static void main(String[] args) {
        try (Connection conn = getConnection()) {
            DatabaseMetaData dbmd = conn.getMetaData();
            ResultSet rs = dbmd.getColumns(null, "%", "emp524".toUpperCase(), "%");

            while (rs.next()) {
                String colName = rs.getString("COLUMN_NAME");
                String colRemarks = rs.getString("REMARKS");
                String pattern = "Column name:%s & remarks:%s";
                System.out.println(String.format(pattern, colName, colRemarks));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
复制代码

输出:

Column name:ID & remarks:ID
Column name:NAME & remarks:姓名
Column name:AGE & remarks:年龄

建表充值添加注释的SQL:

复制代码
create table emp524(
    id number(12),
    name nvarchar2(20),
    age number(3),
    primary key(id)
);


COMMENT ON TABLE emp524 IS '雇员表';
COMMENT ON COLUMN emp524.id IS 'ID';
COMMENT ON COLUMN emp524.name IS '姓名';
COMMENT ON COLUMN emp524.age IS '年龄';

insert into emp524(id,name) values ('1','andy');
复制代码

END

posted @   逆火狂飙  阅读(1526)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-05-24 递归向下解析算术表达式(四)
2020-05-24 递归向下解析算术表达式(三)
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示