oracle数据库,使用jdbc解析注释出现的问题
来源:互联网 发布:黑页源码带音乐 编辑:程序博客网 时间:2024/05/16 17:33
今天在扩展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)); }
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以上转载。
实际code:
String catalog = dsp.getConnection().getCatalog();ResultSet tableResult = dsp.getConnection().getMetaData().getTables(catalog, null, null, null);List<Table> tList = new ArrayList<>();//获得数据库中的所有表,并将其放入到tList中while (tableResult.next()) {Table t = new Table();t.setName(tableResult.getString("TABLE_NAME"));t.setDescription(tableResult.getString("REMARKS"));tList.add(t);}
for (Table table : tableList) {ListIterator<TableType.Column> columnIterator = null;for (TableType tableType : tableTypeList) {if (StringUtils.equals(tableType.getName(), table.getName())) {columnIterator = tableType.getColumn().listIterator();}}ResultSet colResult = dsp.getConnection().getMetaData().getColumns(null, null, table.getName(), null);ResultSet pkResult = dsp.getConnection().getMetaData().getPrimaryKeys(null, null, table.getName());List<Column> columns = creatOneTableColumns(columnIterator, colResult, pkResult);table.setColumns(columns);tableMap.put(table.getName(), table);}
- oracle数据库,使用jdbc解析注释出现的问题
- 解决JAVA通过JDBC连接Oracle数据库出现的问题
- 关于spring boot整合mybatis使用oracle数据库出现could not load:oracle.jdbc.driver.OracleDriver问题的终极解决方案
- 使用JDBC连接Oracle数据库和使用连接池连接Oracle数据库的代码解析
- Oracle数据库出现的问题
- 使用Java的JDBC操作Oracle数据库
- 关于c#连接Oracle数据库出现的无法解析连接字符串问题
- 使用JDBC访问数据库的相关问题
- JDBC使用sys账号连接Oracle数据库权限问题
- jdbc访问数据库中出现的一些小问题 ing...
- jdbc连接数据库出现的问题,Statement一直为null
- 解决JDBC操作数据库出现中文乱码的问题
- oracle数据库出现的一些问题
- JDBC连接Oracle数据库问题
- JDBC连接oracle数据库出现ClassNotFoundException异常
- 使用JDBC连接oracle数据库
- 使用jdbc操作Oracle数据库
- 使用jdbc连接oracle数据库
- 手机访问本地项目实现远程调试的几种办法
- CCF计算机软件能力认证试题练习-相反数(Java参考答案学习记录)
- OPC客户端开发之OPC服务器的枚举和连接------OPC(第五篇)
- 怎么解决查询失业人员信息时出的错误
- XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习
- oracle数据库,使用jdbc解析注释出现的问题
- 隐藏键盘和显示键盘
- mktime()的格式
- XML——XML文件约束之DTD详解
- 建议99:重写时不应使用子类参数
- Win10系统触摸屏自带驱动安装步骤
- Oracle的启动问题
- Java Web项目中解决中文乱码方法总结
- 开发中常见问题集锦