关于从DatabaseMetaData接口中获取注释这个问题我一直想弄明白,在网上碰巧看看这篇文章,其中所说得不知道是不是正确的,需要日后验证一下
今天在扩展ibator插件时,在生成model中每个field的注释时,想从oracle数据库中获取每个字段的comments作为注释.使用jdbc的支持,代码如下:
ResultSet rs = (java.sql.DatabaseMetaData)databaseMetaData.getColumns(localCatalog, localSchema,localTableName, null);
while (rs.next()){
rs.getString("REMARKS"));
.............................
java.sql.DatabaseMetaData.getColumns 这个方法从注释就能清楚的看到,可以获取数据库的很多元信息,当然包括表和字段的注释.但是,我获取时,却是NULL.GOOGLE了半天,发现原来oracle是需要在连接JDBC获取connection时通过一个参数来设置是否能获取comments.具体如下:
Properties props =newProperties();
props.put("remarksReporting","true");
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, props);
DatabaseMetaData dbmd = dbConn.getMetaData();
rs = dbmd.getColumns(null,"OPS$AIMSADM","AIRCRAFTS","CODE");
if(rs.next()) {System.out.println("Remarks: "+ rs.getObject(12)); }
分享到:
相关推荐
// 获取字段注释 String columnComment = columnsRs.getString("REMARKS"); // ... } ``` Apache POI是Apache软件基金会的一个开源项目,它提供了一套API,可以用来读写Microsoft Office格式的文件,包括Excel...
(注释需要保证库本身已经包含了对于表和字段的注释)方式用于为数据库提供两张表。 meta_field, meta_model。表名称说明meta_model用于存放所有的表信息。(包含元数据表)meta_field用于存放所有的表字段信息。(包含元...
- **获取元数据**:通过`DatabaseMetaData`对象获取表信息(`getTables()`),列信息(`getColumns()`),主键信息(`getPrimaryKeys()`)等。 - **解析元数据**:遍历并解析获取到的信息,比如提取表名、列名、...
15. **字段最大数**:在Oracle中,一个表的最大列数是1000。 16. **SID**:System Identifier,标识数据库实例,通过`SELECT * FROM V$INSTANCE`获取。 17. **查看IP地址**:在SQL*Plus中运行操作系统命令,如`...
3、 通过dept表查询出所有部门号,对每个部门雇员的工资进行调整,将工资高于(包含$2000)$2000的雇员每人增加$500,将工资低于$2000的雇员每人增加到$2000。但应注意雇员工资调整后不应大于$10000,否则显示出错信息,...