在文档的时候数据库表太多了所以就用aspose读写了
根据数据库的连接参数,获取指定表的基本信息:字段名、字段类型、字段注释
public static LinkedHashSet<String> getTableInfo(Connection conn){
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
DatabaseMetaData dbmd = null;
try {
dbmd = conn.getMetaData();
//ResultSet resultSet = dbmd.getTables(null, "%", table, new String[] { "TABLE" });
ResultSet resultSet = dbmd.getTables(conn.getCatalog(), getSchema(conn),"%",new String[]{"TABLE"});
while (resultSet.next()) {
//表名
String tableName=resultSet.getString("TABLE_NAME");
//注释
String remarks=resultSet.getString("REMARKS");
if(StringUtils.hasText(remarks)){
linkedHashSet.add(remarks+":"+tableName);
}else{
linkedHashSet.add(tableName);
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return linkedHashSet;
}
获取table的字段
private static LinkedList<LinkedHashMap<String,String>> getTableColumn(Connection conn, String tableName) throws SQLException, Exception {
LinkedList<LinkedHashMap<String,String>> linkedList = new LinkedList<LinkedHashMap<String,String>>();
//获取表的主键
ResultSet primaryKeyResultSet = conn.getMetaData().getPrimaryKeys(conn.getCatalog(),getSchema(conn),tableName);
String primaryKeyColumnName = "";
while(primaryKeyResultSet.next()){
primaryKeyColumnName = primaryKeyResultSet.getString("COLUMN