关于从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)); }
获取Oracle数据库字段注释的方法
本文详细介绍了如何通过修改JDBC连接参数,使Oracle数据库能够返回字段的注释信息,进而实现从DatabaseMetaData接口中获取注释的过程。通过设置`remarksReporting`属性为`true`,可以在生成model中每个field的注释时,直接从数据库中获取并使用。
729

被折叠的 条评论
为什么被折叠?



