diff --git a/module-database-api/src/main/java/ink/wgink/database/api/controller/DemoController.java b/module-database-api/src/main/java/ink/wgink/database/api/controller/DemoController.java
deleted file mode 100644
index 16d462b2..00000000
--- a/module-database-api/src/main/java/ink/wgink/database/api/controller/DemoController.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package ink.wgink.database.api.controller;
-
-/**
- * @ClassName: DemoController
- * @Description:
- * @Author: wanggeng
- * @Date: 2022/1/18 11:08 AM
- * @Version: 1.0
- */
-public class DemoController {
-}
diff --git a/module-database-api/pom.xml b/module-database/pom.xml
similarity index 94%
rename from module-database-api/pom.xml
rename to module-database/pom.xml
index 6de8c347..7be806c3 100644
--- a/module-database-api/pom.xml
+++ b/module-database/pom.xml
@@ -9,7 +9,7 @@
4.0.0
- module-database-api
+ module-database
diff --git a/module-database/src/main/java/ink/wgink/database/aop/JdbcAop.java b/module-database/src/main/java/ink/wgink/database/aop/JdbcAop.java
new file mode 100644
index 00000000..204735bf
--- /dev/null
+++ b/module-database/src/main/java/ink/wgink/database/aop/JdbcAop.java
@@ -0,0 +1,34 @@
+package ink.wgink.database.aop;
+
+import ink.wgink.exceptions.base.SystemException;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+import java.sql.SQLException;
+
+/**
+ * @ClassName: JdbcAop
+ * @Description: jdbcAop
+ * @Author: wanggeng
+ * @Date: 2021/10/29 11:10 上午
+ * @Version: 1.0
+ */
+@Aspect
+@Component
+public class JdbcAop {
+
+ @Around("execution(public * ink.wgink.database.service..*.*(..))")
+ public Object apiLogAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
+ try {
+ return proceedingJoinPoint.proceed();
+ } catch (Throwable e) {
+ if (e instanceof SQLException) {
+ throw new SystemException(e.getMessage());
+ }
+ throw e;
+ }
+ }
+
+}
diff --git a/module-database/src/main/java/ink/wgink/database/controller/api/mysql/MysqlController.java b/module-database/src/main/java/ink/wgink/database/controller/api/mysql/MysqlController.java
new file mode 100644
index 00000000..0e201446
--- /dev/null
+++ b/module-database/src/main/java/ink/wgink/database/controller/api/mysql/MysqlController.java
@@ -0,0 +1,111 @@
+package ink.wgink.database.controller.api.mysql;
+
+import ink.wgink.annotation.CheckRequestBodyAnnotation;
+import ink.wgink.common.base.DefaultBaseController;
+import ink.wgink.database.pojo.dtos.mysql.MysqlDTO;
+import ink.wgink.database.pojo.vos.mysql.MysqlVO;
+import ink.wgink.database.service.mysql.IMysqlService;
+import ink.wgink.interfaces.consts.ISystemConstant;
+import ink.wgink.pojo.ListPage;
+import ink.wgink.pojo.result.ErrorResult;
+import ink.wgink.pojo.result.SuccessResult;
+import ink.wgink.pojo.result.SuccessResultData;
+import ink.wgink.pojo.result.SuccessResultList;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName: MysqlController
+ * @Description: mysql连接
+ * @Author: CodeFactory
+ * @Date: 2021-10-26 23:05:32
+ * @Version: 3.0
+ **/
+@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "mysql连接接口")
+@RestController
+@RequestMapping(ISystemConstant.API_PREFIX + "/mysql")
+public class MysqlController extends DefaultBaseController {
+
+ @Autowired
+ private IMysqlService mysqlService;
+
+ @ApiOperation(value = "新增mysql连接", notes = "新增mysql连接接口")
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @PostMapping("save")
+ @CheckRequestBodyAnnotation
+ public SuccessResult save(@RequestBody MysqlVO mysqlVO) {
+ mysqlService.save(mysqlVO);
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "删除mysql连接", notes = "删除mysql连接接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "ids", value = "ID列表,用下划线分隔", paramType = "path", example = "1_2_3")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @DeleteMapping("remove/{ids}")
+ public SuccessResult remove(@PathVariable("ids") String ids) {
+ mysqlService.remove(Arrays.asList(ids.split("\\_")));
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "修改mysql连接", notes = "修改mysql连接接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "mysqlId", value = "mysql连接ID", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @PutMapping("update/{mysqlId}")
+ @CheckRequestBodyAnnotation
+ public SuccessResult update(@PathVariable("mysqlId") String mysqlId, @RequestBody MysqlVO mysqlVO) {
+ mysqlService.update(mysqlId, mysqlVO);
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "mysql连接详情", notes = "mysql连接详情接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "mysqlId", value = "mysql连接ID", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("get/{mysqlId}")
+ public MysqlDTO get(@PathVariable("mysqlId") String mysqlId) {
+ return mysqlService.get(mysqlId);
+ }
+
+ @ApiOperation(value = "mysql连接列表", notes = "mysql连接列表接口")
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("list")
+ public List list() {
+ Map params = requestParams();
+ return mysqlService.list(params);
+ }
+
+ @ApiOperation(value = "mysql连接分页列表", notes = "mysql连接分页列表接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
+ @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
+ @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("listpage")
+ public SuccessResultList> listPage(ListPage page) {
+ Map params = requestParams();
+ page.setParams(params);
+ return mysqlService.listPage(page);
+ }
+
+ @ApiOperation(value = "mysql连接统计", notes = "mysql连接统计接口")
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("count")
+ SuccessResultData count() {
+ Map params = requestParams();
+ return new SuccessResultData<>(mysqlService.count(params));
+ }
+
+}
\ No newline at end of file
diff --git a/module-database/src/main/java/ink/wgink/database/controller/api/mysql/jdbc/MysqlJdbcController.java b/module-database/src/main/java/ink/wgink/database/controller/api/mysql/jdbc/MysqlJdbcController.java
new file mode 100644
index 00000000..c00c8314
--- /dev/null
+++ b/module-database/src/main/java/ink/wgink/database/controller/api/mysql/jdbc/MysqlJdbcController.java
@@ -0,0 +1,170 @@
+package ink.wgink.database.controller.api.mysql.jdbc;
+
+import ink.wgink.annotation.CheckRequestBodyAnnotation;
+import ink.wgink.common.base.DefaultBaseController;
+import ink.wgink.database.pojo.vos.sql.SqlVO;
+import ink.wgink.database.service.jdbc.IJdbcService;
+import ink.wgink.interfaces.consts.ISystemConstant;
+import ink.wgink.pojo.result.ErrorResult;
+import ink.wgink.pojo.result.SuccessResult;
+import ink.wgink.pojo.result.SuccessResultData;
+import ink.wgink.pojo.result.SuccessResultList;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.sql.SQLException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName: MysqlJdbcController
+ * @Description: Mysql JDBC
+ * @Author: wanggeng
+ * @Date: 2021/10/26 11:41 下午
+ * @Version: 1.0
+ */
+@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "mysql jdbc接口")
+@RestController
+@RequestMapping(ISystemConstant.API_PREFIX + "/mysql/jdbc")
+public class MysqlJdbcController extends DefaultBaseController {
+
+ @Autowired
+ private IJdbcService jdbcService;
+
+ @ApiOperation(value = "是否已经连接", notes = "是否已经连接接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "mysqlId", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("is-connected/{mysqlId}")
+ public SuccessResultData isConnected(@PathVariable("mysqlId") String mysqlId) {
+ Boolean isConnected = jdbcService.isConnected(mysqlId);
+ return new SuccessResultData<>(isConnected);
+ }
+
+ @ApiOperation(value = "打开连接", notes = "打开连接接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "mysqlId", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("open-connection/{mysqlId}")
+ public SuccessResult openConnection(@PathVariable("mysqlId") String mysqlId) throws SQLException {
+ jdbcService.openConnection(mysqlId);
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "关闭连接", notes = "关闭连接接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "mysqlId", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("close-connection/{mysqlId}")
+ public SuccessResult closeConnection(@PathVariable("mysqlId") String mysqlId) throws SQLException {
+ jdbcService.closeConnection(mysqlId);
+ return new SuccessResult();
+ }
+
+ @ApiOperation(value = "图示列表", notes = "图示列表接口")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "mysqlId", value = "主键", paramType = "path")
+ })
+ @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
+ @GetMapping("list-schemata/{mysqlId}")
+ public List
+
+ com.alibaba.fastjson2
+ fastjson2
+ ${fastjson2.version}
+
@@ -437,16 +443,6 @@
tomcat-embed-core
${tomcat-embed.version}
-
- org.apache.tomcat.embed
- tomcat-embed-el
- ${tomcat-embed.version}
-
-
- org.apache.tomcat.embed
- tomcat-embed-websocket
- ${tomcat-embed.version}
-