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 selectTableColumnInfo( String tableName){ return mapper.selectTableColumnInfo(tableName); } /** * 获取所有的表格名称 * @return 表格名称 */ public List 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); } }