Commit 2494d9b9 authored by godkaikai's avatar godkaikai

元数据表查询扩展

parent e2123512
...@@ -4,6 +4,7 @@ import lombok.Getter; ...@@ -4,6 +4,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
...@@ -20,7 +21,15 @@ public class Table implements Serializable, Comparable<Table> { ...@@ -20,7 +21,15 @@ public class Table implements Serializable, Comparable<Table> {
private String name; private String name;
private String schema; private String schema;
private String catalog;
private String comment; private String comment;
private String type;
private String engine;
private String options;
private String collation;
private Long rows;
private LocalDateTime createTime;
private LocalDateTime updateTime;
private List<Column> columns; private List<Column> columns;
public Table() { public Table() {
......
...@@ -20,4 +20,63 @@ public abstract class AbstractDBQuery implements IDBQuery { ...@@ -20,4 +20,63 @@ public abstract class AbstractDBQuery implements IDBQuery {
public String[] columnCustom() { public String[] columnCustom() {
return null; return null;
} }
public String schemaName() {
return "SCHEMA";
}
@Override
public String catalogName() {
return "CATALOG";
}
@Override
public String tableName() {
return "NAME";
}
@Override
public String tableComment() {
return "COMMENT";
}
@Override
public String tableType() {
return "TYPE";
}
@Override
public String engine() {
return "ENGINE";
}
@Override
public String options() {
return "OPTIONS";
}
@Override
public String columnName() {
return "FIELD";
}
@Override
public String columnType() {
return "TYPE";
}
@Override
public String columnComment() {
return "COMMENT";
}
@Override
public String columnKey() {
return "KEY";
}
@Override
public String isNotNull() {
return "NULL";
}
} }
...@@ -26,6 +26,10 @@ public interface IDBQuery { ...@@ -26,6 +26,10 @@ public interface IDBQuery {
* 数据库、模式、组织名称 * 数据库、模式、组织名称
*/ */
String schemaName(); String schemaName();
/**
* catalog 名称
*/
String catalogName();
/** /**
* 表名称 * 表名称
*/ */
...@@ -34,6 +38,18 @@ public interface IDBQuery { ...@@ -34,6 +38,18 @@ public interface IDBQuery {
* 表注释 * 表注释
*/ */
String tableComment(); String tableComment();
/**
* 表类型
*/
String tableType();
/**
* 表引擎
*/
String engine();
/**
* 表配置
*/
String options();
/** /**
* 字段名称 * 字段名称
*/ */
......
...@@ -20,7 +20,8 @@ public class MySqlQuery extends AbstractDBQuery { ...@@ -20,7 +20,8 @@ public class MySqlQuery extends AbstractDBQuery {
@Override @Override
public String tablesSql(String schemaName) { public String tablesSql(String schemaName) {
return "select TABLE_NAME AS `NAME`,TABLE_SCHEMA AS `Database`,TABLE_COMMENT AS COMMENT from information_schema.tables" + return "select TABLE_NAME AS `NAME`,TABLE_SCHEMA AS `Database`,TABLE_COMMENT AS COMMENT,TABLE_CATALOG AS `CATALOG`" +
",TABLE_TYPE AS `TYPE`,ENGINE AS `ENGINE`,CREATE_OPTIONS AS `OPTIONS` from information_schema.tables" +
" where TABLE_SCHEMA = '"+schemaName+"'"; " where TABLE_SCHEMA = '"+schemaName+"'";
} }
...@@ -34,50 +35,8 @@ public class MySqlQuery extends AbstractDBQuery { ...@@ -34,50 +35,8 @@ public class MySqlQuery extends AbstractDBQuery {
return "Database"; return "Database";
} }
@Override
public String tableName() {
return "NAME";
}
@Override
public String tableComment() {
return "COMMENT";
}
@Override
public String columnName() {
return "FIELD";
}
@Override
public String columnType() {
return "TYPE";
}
@Override
public String columnComment() {
return "COMMENT";
}
@Override
public String columnKey() {
return "KEY";
}
@Override @Override
public boolean isKeyIdentity(ResultSet results) throws SQLException { public boolean isKeyIdentity(ResultSet results) throws SQLException {
return "auto_increment".equals(results.getString("Extra")); return "auto_increment".equals(results.getString("Extra"));
} }
@Override
public String isNotNull() {
return "NULL";
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment