diff --git a/pom.xml b/pom.xml index d7412c5..03a9ea0 100644 --- a/pom.xml +++ b/pom.xml @@ -118,6 +118,12 @@ provided + + com.alibaba + fastjson + 1.2.29 + + diff --git a/src/main/java/com/huangge1199/controller/BiController.java b/src/main/java/com/huangge1199/controller/BiController.java new file mode 100644 index 0000000..30d6919 --- /dev/null +++ b/src/main/java/com/huangge1199/controller/BiController.java @@ -0,0 +1,40 @@ +package com.huangge1199.controller; + +import com.huangge1199.base.R; +import com.huangge1199.service.IBiTableColumnService; +import com.huangge1199.vo.TableVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * BiController + * + * @author huangge1199 + * @since 2025/3/27 17:38:52 + */ +@Api("数据库表操作") +@RestController +@RequestMapping("/db") +public class BiController { + + @Resource + private IBiTableColumnService biTableColumnService; + + @ApiOperation("查询所有表信息") + @PostMapping("/getTablesInfo") + public R> getTablesInfo() { + List result; + try { + result = biTableColumnService.getTablesInfo(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + return R.ok(result); + } +} diff --git a/src/main/java/com/huangge1199/dao/BiTableColumnDao.java b/src/main/java/com/huangge1199/dao/BiTableColumnDao.java new file mode 100644 index 0000000..1d98612 --- /dev/null +++ b/src/main/java/com/huangge1199/dao/BiTableColumnDao.java @@ -0,0 +1,20 @@ +package com.huangge1199.dao; + +import com.huangge1199.domain.BiTableColumn; +import com.huangge1199.vo.TableVo; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import java.util.List; + +/** + * BiTableColumnDao + * + * @author huangge1199 + * @since 2025/3/28 8:41:46 + */ +public interface BiTableColumnDao extends JpaRepository { + + @Query("SELECT DISTINCT NEW com.huangge1199.vo.TableVo(tableName, tableNameCn, schema) FROM BiTableColumn") + List getTablesInfo(); +} diff --git a/src/main/java/com/huangge1199/domain/BiTableColumn.java b/src/main/java/com/huangge1199/domain/BiTableColumn.java new file mode 100644 index 0000000..4d439b1 --- /dev/null +++ b/src/main/java/com/huangge1199/domain/BiTableColumn.java @@ -0,0 +1,63 @@ +package com.huangge1199.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.util.Date; + +@Data +@Entity +@AllArgsConstructor +@NoArgsConstructor +@Table(name = "MBGK_TABLE_COLUMN") +public class BiTableColumn { + + @Id + @Column(name = "ID") + private String id; + + @Column(name = "TABLE_NAME") + private String tableName; + + @Column(name = "TABLE_NAME_CN") + private String tableNameCn; + + @Column(name = "COLUMN_NAME") + private String columnName; + + @Column(name = "COLUMN_NAME_CN") + private String columnNameCn; + + @Column(name = "COLNUMN_TYPE") + private String colnumnType; + + @Column(name = "SCHEMA") + private String schema; + + @Column(name = "DATA_SOURCE") + private String dataSource; + + @Column(name = "IS_DELETE") + private String isDelete; + + @Column(name = "IS_PRIMARY") + private String isPrimary; + + @Column(name = "CREATE_TIME") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Column(name = "UPDATE_TIME") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @Column(name = "OP") + private String op; + +} diff --git a/src/main/java/com/huangge1199/service/IBiTableColumnService.java b/src/main/java/com/huangge1199/service/IBiTableColumnService.java new file mode 100644 index 0000000..f192b08 --- /dev/null +++ b/src/main/java/com/huangge1199/service/IBiTableColumnService.java @@ -0,0 +1,16 @@ +package com.huangge1199.service; + +import com.huangge1199.domain.BiTableColumn; +import com.huangge1199.vo.TableVo; + +import java.util.List; + +/** + * IBiTableColumnService + * + * @author huangge1199 + * @since 2025/3/28 8:37:06 + */ +public interface IBiTableColumnService { + List getTablesInfo(); +} diff --git a/src/main/java/com/huangge1199/service/impl/BiTableColumnServiceImpl.java b/src/main/java/com/huangge1199/service/impl/BiTableColumnServiceImpl.java new file mode 100644 index 0000000..fd7dfa0 --- /dev/null +++ b/src/main/java/com/huangge1199/service/impl/BiTableColumnServiceImpl.java @@ -0,0 +1,31 @@ +package com.huangge1199.service.impl; + +import com.huangge1199.dao.BiTableColumnDao; +import com.huangge1199.domain.BiTableColumn; +import com.huangge1199.service.IBiTableColumnService; +import com.huangge1199.vo.TableVo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * BiTableColumnServiceImpl + * + * @author huangge1199 + * @since 2025/3/28 8:38:07 + */ +@Service +public class BiTableColumnServiceImpl implements IBiTableColumnService { + + @Resource + private BiTableColumnDao biTableColumnDao; + + @Override + public List getTablesInfo() { + List list = biTableColumnDao.getTablesInfo(); + return list; + } +} diff --git a/src/main/java/com/huangge1199/vo/TableVo.java b/src/main/java/com/huangge1199/vo/TableVo.java new file mode 100644 index 0000000..fb1fddb --- /dev/null +++ b/src/main/java/com/huangge1199/vo/TableVo.java @@ -0,0 +1,25 @@ +package com.huangge1199.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; + +/** + * TableVo + * + * @author huangge1199 + * @since 2025/3/27 17:36:56 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TableVo { + + private String tableName; + + private String tableNameCn; + + private String schema; +}