Commit 2494d9b9 authored by godkaikai's avatar godkaikai

元数据表查询扩展

parent e2123512
......@@ -4,6 +4,7 @@ import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -20,7 +21,15 @@ public class Table implements Serializable, Comparable<Table> {
private String name;
private String schema;
private String catalog;
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;
public Table() {
......
......@@ -20,4 +20,63 @@ public abstract class AbstractDBQuery implements IDBQuery {
public String[] columnCustom() {
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 {
* 数据库、模式、组织名称
*/
String schemaName();
/**
* catalog 名称
*/
String catalogName();
/**
* 表名称
*/
......@@ -34,6 +38,18 @@ public interface IDBQuery {
* 表注释
*/
String tableComment();
/**
* 表类型
*/
String tableType();
/**
* 表引擎
*/
String engine();
/**
* 表配置
*/
String options();
/**
* 字段名称
*/
......
......@@ -20,7 +20,8 @@ public class MySqlQuery extends AbstractDBQuery {
@Override
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+"'";
}
......@@ -34,50 +35,8 @@ public class MySqlQuery extends AbstractDBQuery {
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
public boolean isKeyIdentity(ResultSet results) throws SQLException {
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