From 097173426f23e5d333dc68efbeb628e830855042 Mon Sep 17 00:00:00 2001 From: xuan-bot Date: Sun, 8 Mar 2026 00:19:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=87=E6=8D=A2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E4=BB=8EH2=E5=88=B0MySQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 安装MySQL数据库 - 创建xuan_deduct数据库和xuan_user用户 - 创建deduct_record表 - 修改application.properties配置MySQL连接 - 测试验证数据库连接和数据保存功能 --- data/xuan.mv.db | Bin 24576 -> 24576 bytes pom.xml | 7 ++++++ src/main/resources/application.properties | 25 ++++++---------------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/data/xuan.mv.db b/data/xuan.mv.db index 7e217a558ddeaf4dacebe9932068c28994fef5e1..b2a78415c5dab20c5027d536601877ca935a8664 100644 GIT binary patch literal 24576 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 MO^E-;SH%DS2hUb(-2eap diff --git a/pom.xml b/pom.xml index 40d0759..bf9b841 100644 --- a/pom.xml +++ b/pom.xml @@ -117,6 +117,13 @@ mysql-connector-java 8.0.33 + + + mysql + mysql-connector-java + 8.0.33 + + com.h2database diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index d9ee046..01059ce 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,30 +1,17 @@ server.port=8080 spring.application.name=xuan-utils-pro -# H2 Database Configuration (Development) -spring.datasource.url=jdbc:h2:file:./data/xuan;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE -spring.datasource.driverClassName=org.h2.Driver -spring.datasource.username=sa -spring.datasource.password= +# MySQL Database Configuration +spring.datasource.url=jdbc:mysql://localhost:3306/xuan_deduct?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowPublicKeyRetrieval=true +spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver +spring.datasource.username=xuan_user +spring.datasource.password=xuan_password # JPA Configuration -spring.jpa.database-platform=org.hibernate.dialect.H2Dialect +spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true -# H2 Console (Development only) -spring.h2.console.enabled=true -spring.h2.console.path=/h2-console - -# MySQL Configuration (Production - uncomment when needed) -#spring.datasource.url=jdbc:mysql://localhost:3306/xuan_deduct?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8 -#spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver -#spring.datasource.username=root -#spring.datasource.password=your_password -#spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect -#spring.jpa.hibernate.ddl-auto=update - # Logging logging.level.xuan=DEBUG -logging.level.org.hibernate.SQL=DEBUG