田源
2023-05-09 d2570148ec3884de3af721bd99c4b7acbbdee075
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,119 @@
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: MySql数据库操作类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DdlMySqlMapper extends DdlMapper{
   /**
    * åˆ›å»ºæ•°æ®åº“表
    * @param tableName è¡¨æ ¼çš„名称
    * @param attributeSql å±žæ€§çš„sql
    * @return å½±å“çš„行数
    */
   @Update("create table ${tableName} ( ${attributeSql} )")
   @ResultType(Integer.class)
   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)
   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)
   int commentColumnTable(@Param("tableName") String tableName,@Param("columnName")String columnName, @Param("comment") String comment);
   /**
    * æ‰¹é‡ä¿®æ”¹æ•°æ®åº“的字段--
    * @param tableName è¡¨æ ¼çš„名称
    * @param attributeSql å±žæ€§æ–°çš„sql
    * @return å½±å“çš„行数
    */
   @Update("alter table ${tableName} ${attributeSql} ")
   @ResultType(Integer.class)
   int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
   /**
    * å‘数据库表中批量添加字段
    * @param tableName è¡¨æ ¼çš„名称
    * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
    * @return å½±å“çš„行数
    */
   @Update("alter table ${tableName} ${attributeSql} ")
   @ResultType(Integer.class)
   int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
   /**
    * åˆ é™¤è¡¨æ ¼
    * @param tableName è¡¨æ ¼åç§°
    * @return å½±å“çš„行数
    */
   @Update("drop table if exists ${tableName}")
   @ResultType(Integer.class)
   int dropTable(@Param("tableName") String tableName);
   /**
    * æ ¡éªŒæ•°æ®åº“表或者视图
    * @param tableName è¡¨æ ¼åç§°
    * @return å­˜åœ¨çš„个数
    */
   @Select("use information_scheam;select count(table_name) from tables where table_name = #{tableName,jdbcType=VARCHAR}")
   @ResultType(Integer.class)
   int checkTableExist(@Param("tableName") String tableName);
   /**
    * æŸ¥è¯¢è¡¨æ ¼çš„字段信息--sql server
    * @param tableName è¡¨æ ¼çš„名称
    * @return æ•°æ®åº“表的字段信息
    */
   List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName")String tableName);
   /**
    * åˆ é™¤è¡¨æ ¼ä¸­çš„列
    * @param tableName è¡¨åç§°
    * @param columnName åˆ—名称
    * @return å—影响的行数
    */
   int dropTableColumn(@Param("tableName")String tableName, @Param("columnName")String columnName);
   /**
    * èŽ·å–æ‰€æœ‰çš„è¡¨æ ¼åç§°
    * @return è¡¨æ ¼åç§°
    */
   @Select("use information_scheam;select table_name from tables")
   List<String> selectAllTableName();
   /**
    * æŸ¥è¯¢è¡¨æ ¼çš„中文名称
    * @param tableName è¡¨æ ¼åç§°
    * @return è¡¨æ ¼åç§°å’Œè¡¨æ ¼ä¸­æ–‡åç§°
    */
   DdlTableBO selectTableComment(@Param("tableName")String tableName);
}