public abstract class AbstractTableObject extends AbstractProvider implements TableObject
限定符和类型 | 字段和说明 |
---|---|
static int |
CHECK_TABLE_EXSIT_ON_TABLECOLUMNNAME |
static int |
CHECK_TABLE_EXSIT_ON_TABLENAME |
protected int |
checkTableExistLevel |
protected java.util.List |
columnsList |
protected boolean |
newTable |
protected java.util.List |
uniqueKeyList |
CURRENT_LEVEL, MARK_STRING
构造器和说明 |
---|
AbstractTableObject() |
限定符和类型 | 方法和说明 |
---|---|
protected void |
addColumn(Column column) |
protected void |
addColumn(java.lang.String columnName,
int columnType,
ColumnSize cs) |
protected void |
addColumn(java.lang.String columnName,
int columnType,
ColumnSize cs,
boolean allowNull) |
protected void |
addColumn(java.lang.String columnName,
int columnType,
ColumnSize cs,
boolean allowNull,
boolean primaryKey) |
protected void |
addColumn(java.lang.String columnName,
int columnType,
ColumnSize cs,
boolean allowNull,
boolean primaryKey,
boolean selfIncrease) |
protected void |
addColumnsToTable(Column column,
java.sql.Connection cn,
Table table,
Dialect dialect)
将字段添加到表中
|
void |
addNewColumnCompatibleOld(java.sql.Connection cn,
Dialect dialect)
往表中新增列, 并兼容保存以前的数据
|
void |
addUniqueKey(UniqueKey key)
添加主键
|
boolean |
checkExist(java.sql.Connection cn)
检测表是否存在
|
boolean |
checkSameNameTableExist(java.sql.Connection cn)
检测是否存在同名表
|
boolean |
checkTable(java.sql.Connection cn,
boolean onlytablename)
检测表是否合法
|
void |
createTable(java.sql.Connection cn)
创建表
|
int |
currentAPILevel()
当前接口的API等级,用于判断是否需要升级插件
|
void |
dropTable(java.sql.Connection cn)
删除表
|
protected boolean |
findColumnInTable(java.lang.String columnName,
java.sql.Connection cn,
Table table)
查找当前表中是否包含指定的字段
|
java.lang.String |
foreignReference()
外围引用
|
protected Column |
getColumn(int index) |
protected abstract void |
initColumns()
columns attribute
TODO carl:不要这个方法
|
java.lang.String |
mark4Provider()
获取当前provider的标记(可以使用类路径保证唯一)以避免provider的重复加载
|
equals, hashCode
getTable
protected java.util.List columnsList
protected boolean newTable
protected java.util.List uniqueKeyList
public static final int CHECK_TABLE_EXSIT_ON_TABLENAME
public static final int CHECK_TABLE_EXSIT_ON_TABLECOLUMNNAME
protected int checkTableExistLevel
public int currentAPILevel()
Level
currentAPILevel
在接口中 Level
public java.lang.String mark4Provider()
Provider
mark4Provider
在接口中 Provider
mark4Provider
在类中 AbstractProvider
protected abstract void initColumns()
public java.lang.String foreignReference()
protected Column getColumn(int index)
protected void addColumn(Column column)
protected void addColumn(java.lang.String columnName, int columnType, ColumnSize cs)
protected void addColumn(java.lang.String columnName, int columnType, ColumnSize cs, boolean allowNull)
protected void addColumn(java.lang.String columnName, int columnType, ColumnSize cs, boolean allowNull, boolean primaryKey)
protected void addColumn(java.lang.String columnName, int columnType, ColumnSize cs, boolean allowNull, boolean primaryKey, boolean selfIncrease)
public void addNewColumnCompatibleOld(java.sql.Connection cn, Dialect dialect)
addNewColumnCompatibleOld
在接口中 TableObject
cn
- 数据连接dialect
- 方言public boolean checkExist(java.sql.Connection cn)
checkExist
在接口中 TableObject
cn
- 数据连接public boolean checkTable(java.sql.Connection cn, boolean onlytablename)
cn
- 数据连接onlytablename
- 只检测表名public boolean checkSameNameTableExist(java.sql.Connection cn)
cn
- 数据连接public void addUniqueKey(UniqueKey key)
key
- 主键public void createTable(java.sql.Connection cn)
createTable
在接口中 TableObject
cn
- 数据连接public void dropTable(java.sql.Connection cn) throws java.lang.Exception
dropTable
在接口中 TableObject
cn
- 数据连接java.lang.Exception
- 如果删除失败则抛出此异常protected void addColumnsToTable(Column column, java.sql.Connection cn, Table table, Dialect dialect)
column
- 新增的字段cn
- 数据连接table
- 当前的表protected boolean findColumnInTable(java.lang.String columnName, java.sql.Connection cn, Table table)
columnName
- 新增的字段名cn
- 数据连接table
- 当前的表