From 06d1cb2ebe0b34308494d9a326772b9dc4be3b2b Mon Sep 17 00:00:00 2001 From: louis-xiv Date: Wed, 28 May 2025 08:49:40 +0800 Subject: [PATCH] init --- pom.xml | 14 ++++++++++---- .../louisxiv/mcp/dbconnect/tool/DbConnectTool.java | 8 +++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 2107582..793b78f 100644 --- a/pom.xml +++ b/pom.xml @@ -36,10 +36,16 @@ spring-ai-starter-mcp-server-webflux - - - - + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.mysql + mysql-connector-j + 8.3.0 + org.springframework.boot diff --git a/src/main/java/cn/louisxiv/mcp/dbconnect/tool/DbConnectTool.java b/src/main/java/cn/louisxiv/mcp/dbconnect/tool/DbConnectTool.java index c1b5968..1b8b9ff 100644 --- a/src/main/java/cn/louisxiv/mcp/dbconnect/tool/DbConnectTool.java +++ b/src/main/java/cn/louisxiv/mcp/dbconnect/tool/DbConnectTool.java @@ -2,15 +2,21 @@ package cn.louisxiv.mcp.dbconnect.tool; import lombok.extern.slf4j.Slf4j; import org.springframework.ai.tool.annotation.Tool; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; @Slf4j @Component public class DbConnectTool { + @Autowired + private JdbcTemplate jdbcTemplate; + @Tool(description = "获取表结构定义,参数是表名") public String getTableDefinition(String tableName) { log.info("get table definition: {}", tableName); - return "create " + tableName; + String sql = "SHOW CREATE TABLE " + tableName; + return jdbcTemplate.queryForObject(sql, (rs, rowNum) -> rs.getString("Create Table")); } }