今天在扩展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 metadata .getcolumns 通过DatabaseMetaData从Oracle中获取字段的注释》对你有帮助,请点赞、收藏,并留下你的观点哦!