jdbc获取Oracle字段注释

起因:公司有个项目用一个自动生成代码的工具codegen,在使用过程中发现生成的页面文件字段都是使用column名而不是使用注释,所以每次自动生成完还需要重新修改字段名,当遇到字段多的页面时,很是头疼,所以决定修改自动生成的代码,让自动生成的代码直接生成注释,省得后期修改。

首先现在使用codegen的人好像很少了,基本百度不到什么有用的资料,于是决定反编译codegen代码

在com.codegenerator.db.SqlTable的454行有如下代码

String colRemarks = columns.getString("REMARKS");
newColumn = new SqlColumn(colname, colname, coltype, colsize, digits, coltypname, nullable, withDefault, colRemarks);

正常来说这个colRemarks应该就是字段的注释,但是查出来却是null。于是乎百度了一下,原来Oracle在通过jdbc连接的时候需要添加一个参数来设置是否获取注释,于是我更改了一下codegen中获取数据连接的代码位置在com.codegenerator.db.Dbconn中的78行

if ((!dbuserid.equals("")) & (!dbpasswd.equals(""))) {
	Properties props =new Properties();
	props.put("user", dbuserid);
	props.put("password", dbpasswd);
	props.put("remarksReporting","true");
	conn = DriverManager.getConnection(dbUrl,props);
}else{
	conn = DriverManager.getConnection(dbUrl);
}


就是remarksReporting这个参数设置为true就可以了。



你可能感兴趣的:(JAVA)