田源
2023-05-09 d2570148ec3884de3af721bd99c4b7acbbdee075
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
package com.vci.ubcs.ddl.mapper;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Description: SqlServer数据库操作类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DdlMSMapper extends DdlMapper{
   /**
    * å‘数据库表中添加单个字段
    * @param tableName è¡¨æ ¼çš„名称
    * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
    * @return å½±å“çš„行数
    */
   @Update("alter table ${tableName} add ${attributeSql} ")
   @ResultType(Integer.class)
   @Override
   int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
   /**
    * å•个修改数据表的字段
    * @param tableName è¡¨æ ¼çš„名称
    * @param attributeSql å±žæ€§æ–°çš„sql
    * @return å½±å“çš„行数
    */
   @Update("alter table ${tableName} ALTER COLUMN ${attributeSql} ")
   @ResultType(Integer.class)
   @Override
   int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
   /**
    * åˆ é™¤è¡¨æ ¼
    * @param tableName è¡¨æ ¼åç§°
    * @return å½±å“çš„行数
    */
   @Update("drop table if exists ${tableName}")
   @ResultType(Integer.class)
   @Override
   int dropTable(@Param("tableName") String tableName);
   /**
    * æ ¡éªŒæ•°æ®åº“表或者视图是否存在--ms sql
    * @param tableName è¡¨æ ¼åç§°
    * @return å­˜åœ¨çš„个数
    */
   @Select("select count(name) from sysobjects where type in ('U','V') and upper(name) = upper(#{tableName,jdbcType=VARCHAR})")
   @ResultType(Integer.class)
   @Override
   int checkTableExist(@Param("tableName") String tableName);
   /**
    * æŸ¥è¯¢è¡¨æ ¼çš„字段信息--sql server
    * @param tableName è¡¨æ ¼çš„名称
    * @return æ•°æ®åº“表的字段信息
    */
   List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName") String tableName);
   /**
    * åˆ é™¤è¡¨æ ¼ä¸­çš„列
    * @param tableName è¡¨åç§°
    * @param columnName åˆ—名称
    * @return å—影响的行数
    */
   @Override
   int dropTableColumn(@Param("tableName")String tableName, @Param("columnName")String columnName);
   /**
    * èŽ·å–æ‰€æœ‰çš„è¡¨æ ¼åç§°
    * @return è¡¨æ ¼åç§°
    */
   @Select("select name from sysobjects where type in ('U','V')")
   List<String> selectAllTableName();
   /**
    * æŸ¥è¯¢è¡¨æ ¼çš„中文名称
    * @param tableName è¡¨æ ¼åç§°
    * @return è¡¨æ ¼åç§°å’Œè¡¨æ ¼ä¸­æ–‡åç§°
    */
   DdlTableBO selectTableComment(@Param("tableName")String tableName);
   /**
    * åˆ›å»ºæ•°æ®åº“表
    * @param tableName è¡¨æ ¼çš„名称
    * @param attributeSql å±žæ€§çš„sql
    * @return å½±å“çš„行数
    */
   @Update("create table ${tableName} ( ${attributeSql} )")
   @ResultType(Integer.class)
   @Override
   int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
   /**
    * ä¸ºè¡¨æ ¼æ·»åŠ æ³¨é‡Šå†…å®¹
    * @param tableName è¡¨æ ¼çš„名称
    * @param comment æ³¨é‡Šçš„内容
    * @return å—影响的行数
    */
   @Update("COMMENT ON TABLE ${tableName}  IS '${comment}' ")
   @ResultType(Integer.class)
   @Override
   int commentTable(@Param("tableName") String tableName, @Param("comment") String comment);
   /**
    * ä¸ºè¡¨æ ¼çš„列添加注释内容
    * @param tableName è¡¨æ ¼çš„名称
    * @param columnName åˆ—
    * @param comment æ³¨é‡Šçš„内容
    * @return å—影响的行数
    */
   @Update("COMMENT ON column ${tableName}.${columnName} IS '${comment}' ")
   @ResultType(Integer.class)
   @Override
   int commentColumnTable(@Param("tableName") String tableName,@Param("columnName")String columnName, @Param("comment") String comment);
}