指标库:根据表名查询表字段

This commit is contained in:
huangge1199 2025-08-06 16:39:32 +08:00
parent 60e022ff32
commit 9d7882cbac
5 changed files with 58 additions and 2 deletions

View File

@ -1,19 +1,22 @@
package iet.ustb.sf.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import iet.ustb.sf.common.R;
import iet.ustb.sf.service.TableColumnService;
import iet.ustb.sf.vo.ColumnVo;
import iet.ustb.sf.vo.TableVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 数据库表列配置
* TableColumnController
*
* @author huangge1199
@ -33,4 +36,12 @@ public class TableColumnController {
List<TableVo> result = tableColumnService.getTablesInfo();
return R.ok(result);
}
@Operation(summary = "根据表名查询表字段")
@PostMapping("/getColumnsByTableName")
public R<List<ColumnVo>> getColumnsByTableName(@RequestBody JSONObject params) {
String tableName = params.getString("tableName");
List<ColumnVo> result = tableColumnService.getColumnsByTableName(tableName);
return R.ok(result);
}
}

View File

@ -2,6 +2,7 @@ package iet.ustb.sf.mapper;
import iet.ustb.sf.domain.TableColumn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import iet.ustb.sf.vo.ColumnVo;
import iet.ustb.sf.vo.TableVo;
import org.apache.ibatis.annotations.Select;
@ -17,6 +18,10 @@ public interface TableColumnMapper extends BaseMapper<TableColumn> {
@Select("select distinct table_name,table_name_cn,`schema` from mbgk_table_column where is_delete=0")
List<TableVo> getTablesInfo();
@Select("select column_name,column_name_cn,colnumn_type,op,sort_ from mbgk_table_column " +
"where table_name=#{tableName} and is_delete=0 order by sort_")
List<ColumnVo> getColumnsByTableName(String tableName);
}

View File

@ -1,7 +1,10 @@
package iet.ustb.sf.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import iet.ustb.sf.domain.TableColumn;
import com.baomidou.mybatisplus.extension.service.IService;
import iet.ustb.sf.vo.ColumnVo;
import iet.ustb.sf.vo.TableVo;
import java.util.List;
@ -18,4 +21,6 @@ public interface TableColumnService extends IService<TableColumn> {
String syncTableDataByDb(String dbName);
List<TableVo> getTablesInfo();
List<ColumnVo> getColumnsByTableName(String tableName);
}

View File

@ -2,7 +2,6 @@ package iet.ustb.sf.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
import iet.ustb.sf.domain.Columns;
import iet.ustb.sf.domain.TableColumn;
import iet.ustb.sf.domain.Tables;
@ -12,6 +11,7 @@ import iet.ustb.sf.mapper.TablesMapper;
import iet.ustb.sf.service.TableColumnService;
import iet.ustb.sf.mapper.TableColumnMapper;
import iet.ustb.sf.util.CheckUtils;
import iet.ustb.sf.vo.ColumnVo;
import iet.ustb.sf.vo.TableVo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@ -112,6 +112,12 @@ public class TableColumnServiceImpl extends ServiceImpl<TableColumnMapper, Table
public List<TableVo> getTablesInfo() {
return tableColumnMapper.getTablesInfo();
}
@Override
public List<ColumnVo> getColumnsByTableName(String tableName) {
CheckUtils.checkTableName(tableName);
return tableColumnMapper.getColumnsByTableName(tableName);
}
}

View File

@ -0,0 +1,29 @@
package iet.ustb.sf.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* ColumnVo
*
* @author huangge1199
* @since 2025/3/28 17:11:19
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ColumnVo {
private String columnName;
private String columnNameCn;
private String colnumnType;
private String op;
private int sort;
}