From 9d7882cbac8c17f253bcc15760df1c6f90107356 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Wed, 6 Aug 2025 16:39:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=BA=93=EF=BC=9A=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E8=A1=A8=E5=90=8D=E6=9F=A5=E8=AF=A2=E8=A1=A8=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sf/controller/TableColumnController.java | 13 ++++++++- .../iet/ustb/sf/mapper/TableColumnMapper.java | 5 ++++ .../ustb/sf/service/TableColumnService.java | 5 ++++ .../service/impl/TableColumnServiceImpl.java | 8 ++++- src/main/java/iet/ustb/sf/vo/ColumnVo.java | 29 +++++++++++++++++++ 5 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/main/java/iet/ustb/sf/vo/ColumnVo.java diff --git a/src/main/java/iet/ustb/sf/controller/TableColumnController.java b/src/main/java/iet/ustb/sf/controller/TableColumnController.java index 73b56f3..c33764c 100644 --- a/src/main/java/iet/ustb/sf/controller/TableColumnController.java +++ b/src/main/java/iet/ustb/sf/controller/TableColumnController.java @@ -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 result = tableColumnService.getTablesInfo(); return R.ok(result); } + + @Operation(summary = "根据表名查询表字段") + @PostMapping("/getColumnsByTableName") + public R> getColumnsByTableName(@RequestBody JSONObject params) { + String tableName = params.getString("tableName"); + List result = tableColumnService.getColumnsByTableName(tableName); + return R.ok(result); + } } diff --git a/src/main/java/iet/ustb/sf/mapper/TableColumnMapper.java b/src/main/java/iet/ustb/sf/mapper/TableColumnMapper.java index 8e8161a..ee352a1 100644 --- a/src/main/java/iet/ustb/sf/mapper/TableColumnMapper.java +++ b/src/main/java/iet/ustb/sf/mapper/TableColumnMapper.java @@ -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 { @Select("select distinct table_name,table_name_cn,`schema` from mbgk_table_column where is_delete=0") List 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 getColumnsByTableName(String tableName); } diff --git a/src/main/java/iet/ustb/sf/service/TableColumnService.java b/src/main/java/iet/ustb/sf/service/TableColumnService.java index 0c1e96e..be403fa 100644 --- a/src/main/java/iet/ustb/sf/service/TableColumnService.java +++ b/src/main/java/iet/ustb/sf/service/TableColumnService.java @@ -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 { String syncTableDataByDb(String dbName); List getTablesInfo(); + + List getColumnsByTableName(String tableName); } diff --git a/src/main/java/iet/ustb/sf/service/impl/TableColumnServiceImpl.java b/src/main/java/iet/ustb/sf/service/impl/TableColumnServiceImpl.java index 194e628..ca6a969 100644 --- a/src/main/java/iet/ustb/sf/service/impl/TableColumnServiceImpl.java +++ b/src/main/java/iet/ustb/sf/service/impl/TableColumnServiceImpl.java @@ -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 getTablesInfo() { return tableColumnMapper.getTablesInfo(); } + + @Override + public List getColumnsByTableName(String tableName) { + CheckUtils.checkTableName(tableName); + return tableColumnMapper.getColumnsByTableName(tableName); + } } diff --git a/src/main/java/iet/ustb/sf/vo/ColumnVo.java b/src/main/java/iet/ustb/sf/vo/ColumnVo.java new file mode 100644 index 0000000..3b74fb7 --- /dev/null +++ b/src/main/java/iet/ustb/sf/vo/ColumnVo.java @@ -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; +}