package com.vci.ubcs.ddl.processor.ddl;
|
|
import com.vci.ubcs.ddl.bo.DdlTableBO;
|
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
|
import com.vci.ubcs.ddl.mapper.DdlMapper;
|
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
|
|
import java.util.List;
|
|
/**
|
* Description:
|
*
|
* @author LiHang
|
* @date 2023/4/24
|
*/
|
public abstract class DdlMapperProcessor implements DdlBehavior{
|
|
public DdlMapperProcessor(DdlMapper mapper) {
|
this.mapper = mapper;
|
}
|
|
private final DdlMapper mapper;
|
|
abstract boolean support(String url);
|
|
/**
|
* 统计表格中有多少数据
|
* @param tableName 表格名称
|
* @return 数据的总数
|
*/
|
public int countAll(String tableName){
|
return mapper.countAll(tableName);
|
}
|
|
/**
|
* 根据SQL语句创建视图
|
* @param viewCreateSql
|
* @return 影响行数
|
*/
|
public int createViewBySql( String viewCreateSql){
|
return mapper.createViewBySql(viewCreateSql);
|
}
|
|
/**
|
* 根据sql语句插入数据
|
* @param insertSql 要执行的sql语句
|
* @return 影响的行数
|
*/
|
public int insertBySql(String insertSql){
|
return mapper.insertBySql(insertSql);
|
}
|
|
/**
|
* 创建数据库表
|
* @param tableName 表格的名称
|
* @param attributeSql 属性的sql
|
* @return 影响的行数
|
*/
|
public int createTableBySql(String tableName, String attributeSql){
|
return mapper.createTableBySql(tableName,attributeSql);
|
}
|
|
/**
|
* 为表格添加注释内容
|
* @param tableName 表格的名称
|
* @param comment 注释的内容
|
* @return 受影响的行数
|
*/
|
public int commentTable(String tableName, String comment){
|
return mapper.commentTable(tableName,comment);
|
}
|
|
/**
|
* 为表格的列添加注释内容
|
* @param tableName 表格的名称
|
* @param columnName 列
|
* @param comment 注释的内容
|
* @return 受影响的行数
|
*/
|
public int commentColumnTable(String tableName,String columnName, String comment){
|
return mapper.commentColumnTable(tableName,columnName,comment);
|
}
|
|
/**
|
* 校验数据库表或者视图是否存在
|
* @param tableName 表格的名称,不区分大小写
|
* @return 存在的个数
|
*/
|
public int checkTableExist( String tableName){
|
return mapper.checkTableExist(tableName);
|
}
|
|
/**
|
* 查询表格的字段信息
|
* @param tableName 表格的名称
|
* @return 数据库表的字段信息
|
*/
|
public List<DdlTableInDataBaseBO> selectTableColumnInfo( String tableName){
|
return mapper.selectTableColumnInfo(tableName);
|
}
|
|
/**
|
* 获取所有的表格名称
|
* @return 表格名称
|
*/
|
public List<String> selectAllTableName(){
|
return mapper.selectAllTableName();
|
}
|
|
/**
|
* 查询表格的中文名称
|
* @param tableName 表格名称
|
* @return 表格名称和表格中文名称
|
*/
|
public DdlTableBO selectTableComment(String tableName){
|
return mapper.selectTableComment(tableName);
|
}
|
|
/**
|
* 向数据库表中添加单个字段
|
* @param tableName 表格的名称
|
* @param attributeSql 要添加的新的sql
|
* @return 影响的行数
|
*/
|
public int addColumn2TableBySql(String tableName, String attributeSql){
|
return mapper.addColumn2TableBySql(tableName,attributeSql);
|
}
|
|
/**
|
* 单个修改数据表的字段
|
* @param tableName 表格的名称
|
* @param attributeSql 属性新的sql
|
* @return 影响的行数
|
*/
|
public int modifyTableBySql( String tableName, String attributeSql){
|
return mapper.modifyTableBySql(tableName,attributeSql);
|
}
|
|
/**
|
* 删除表格
|
* @param tableName 表格名称
|
* @return 影响的行数
|
*/
|
public int dropTable( String tableName){
|
return mapper.dropTable(tableName);
|
}
|
|
/**
|
* 删除表格中的列
|
* @param tableName 表名称
|
* @param columnName 列名称
|
* @return 受影响的行数
|
*/
|
public int dropTableColumn(String tableName,String columnName){
|
return mapper.dropTableColumn(tableName,columnName.toUpperCase());
|
}
|
}
|