From ddcf20eb851948cbac0f89244c797600a13d248a Mon Sep 17 00:00:00 2001
From: wxdgaming <492794628@qq.com>
Date: Sat, 3 Aug 2024 11:06:29 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=B5=8B=E8=AF=95=E3=80=91spring=20da?=
=?UTF-8?q?ta=20jpa?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
wxdgaming.boot.spring/.idea/compiler.xml | 4 ++-
wxdgaming.boot.spring/.idea/dataSources.xml | 14 +++++++++
wxdgaming.boot.spring/.idea/encodings.xml | 28 -----------------
wxdgaming.boot.spring/.idea/misc.xml | 8 -----
wxdgaming.boot.spring/.idea/modules.xml | 9 ------
.../boot/spring/data/DataSourceConfig.java | 5 ++--
.../boot/spring/data/ManagerFactory.java | 22 +++++++-------
.../boot/spring/data/entity/log/ApiLog.java | 30 +++++++++++++++++++
.../spring/data/{ => entity}/user/User.java | 2 +-
.../data/repository/ApiLogRepository.java | 16 ++++++++++
.../data/repository/UserRepository.java | 3 +-
.../spring/data/service/UserServiceImpl.java | 14 ---------
.../boot/spring/starter/BootStarter.java | 1 -
.../spring/starter/core/ApiLogAspect.java | 6 ++++
.../spring/starter/service/GMController.java | 13 ++++++++
.../src/main/resources/application.yml | 4 +--
.../src/main/resources/logback-spring.xml | 1 +
17 files changed, 101 insertions(+), 79 deletions(-)
delete mode 100644 wxdgaming.boot.spring/.idea/modules.xml
create mode 100644 wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/log/ApiLog.java
rename wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/{ => entity}/user/User.java (91%)
create mode 100644 wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/ApiLogRepository.java
delete mode 100644 wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/service/UserServiceImpl.java
diff --git a/wxdgaming.boot.spring/.idea/compiler.xml b/wxdgaming.boot.spring/.idea/compiler.xml
index 6585733..0c637ee 100644
--- a/wxdgaming.boot.spring/.idea/compiler.xml
+++ b/wxdgaming.boot.spring/.idea/compiler.xml
@@ -2,6 +2,7 @@
+
@@ -21,6 +22,7 @@
+
@@ -50,7 +52,7 @@
-
+
diff --git a/wxdgaming.boot.spring/.idea/dataSources.xml b/wxdgaming.boot.spring/.idea/dataSources.xml
index 372a156..a544143 100644
--- a/wxdgaming.boot.spring/.idea/dataSources.xml
+++ b/wxdgaming.boot.spring/.idea/dataSources.xml
@@ -13,5 +13,19 @@
$ProjectFileDir$
+
+ mysql.8
+ true
+ true
+ $PROJECT_DIR$/wxdgaming.boot.spring.starter/src/main/resources/application.yml
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://localhost:3306/mydb?createDatabaseIfNotExist=true
+
+
+
+
+
+ $ProjectFileDir$
+
\ No newline at end of file
diff --git a/wxdgaming.boot.spring/.idea/encodings.xml b/wxdgaming.boot.spring/.idea/encodings.xml
index 9164127..5af20ee 100644
--- a/wxdgaming.boot.spring/.idea/encodings.xml
+++ b/wxdgaming.boot.spring/.idea/encodings.xml
@@ -1,47 +1,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wxdgaming.boot.spring/.idea/misc.xml b/wxdgaming.boot.spring/.idea/misc.xml
index ab68e1e..767618a 100644
--- a/wxdgaming.boot.spring/.idea/misc.xml
+++ b/wxdgaming.boot.spring/.idea/misc.xml
@@ -6,16 +6,8 @@
-
-
-
-
diff --git a/wxdgaming.boot.spring/.idea/modules.xml b/wxdgaming.boot.spring/.idea/modules.xml
deleted file mode 100644
index 58cbc47..0000000
--- a/wxdgaming.boot.spring/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/DataSourceConfig.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/DataSourceConfig.java
index af0bbed..1b43f40 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/DataSourceConfig.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/DataSourceConfig.java
@@ -16,10 +16,11 @@ import javax.sql.DataSource;
**/
@Configuration
public class DataSourceConfig {
+
@Bean
- @ConfigurationProperties("spring.datasource")
@Primary
- DataSource dsOne() {
+ @ConfigurationProperties("spring.datasource")
+ public DataSource dsOne() {
return DruidDataSourceBuilder.create().build();
}
}
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/ManagerFactory.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/ManagerFactory.java
index 34cda25..051a2a4 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/ManagerFactory.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/ManagerFactory.java
@@ -17,18 +17,18 @@ public class ManagerFactory {
@Resource(name = "dsOne") DataSource dsOne;
- @Autowired JpaProperties jpaProperties;
+ @Resource JpaProperties jpaProperties;
- @Bean
- @Primary
- LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder) {
- return builder
- .dataSource(dsOne)
- .properties(jpaProperties.getProperties())
- .packages("wxdgaming.boot.spring.data")
- .persistenceUnit("pu1")
- .build();
- }
+ // @Bean
+ // @Primary
+ // LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder) {
+ // return builder
+ // .dataSource(dsOne)
+ // .properties(jpaProperties.getProperties())
+ // .packages("wxdgaming.boot.spring.data")
+ // .persistenceUnit("pu1")
+ // .build();
+ // }
}
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/log/ApiLog.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/log/ApiLog.java
new file mode 100644
index 0000000..40e13a6
--- /dev/null
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/log/ApiLog.java
@@ -0,0 +1,30 @@
+package wxdgaming.boot.spring.data.entity.log;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * 操作日志
+ *
+ * @author: wxd-gaming(無心道, 15388152619)
+ * @version: 2024-08-03 10:35
+ **/
+@Data
+@Accessors(chain = true)
+@Entity
+@Table
+public class ApiLog {
+ @Id
+ private long uid;
+
+ private String url;
+ private String path;
+ private String method;
+ private String contentType;
+ private String ip;
+ private String params;
+
+}
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/user/User.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/user/User.java
similarity index 91%
rename from wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/user/User.java
rename to wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/user/User.java
index ea31f9e..e030e11 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/user/User.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/entity/user/User.java
@@ -1,4 +1,4 @@
-package wxdgaming.boot.spring.data.user;
+package wxdgaming.boot.spring.data.entity.user;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/ApiLogRepository.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/ApiLogRepository.java
new file mode 100644
index 0000000..8810173
--- /dev/null
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/ApiLogRepository.java
@@ -0,0 +1,16 @@
+package wxdgaming.boot.spring.data.repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+import wxdgaming.boot.spring.data.entity.log.ApiLog;
+
+/**
+ * 日志记录
+ *
+ * @author: wxd-gaming(無心道, 15388152619)
+ * @version: 2024-08-03 10:36
+ **/
+@Repository
+public interface ApiLogRepository extends JpaRepository {
+
+}
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/UserRepository.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/UserRepository.java
index 759977c..f7bf88a 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/UserRepository.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/repository/UserRepository.java
@@ -1,9 +1,8 @@
package wxdgaming.boot.spring.data.repository;
import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
-import wxdgaming.boot.spring.data.user.User;
+import wxdgaming.boot.spring.data.entity.user.User;
/**
* s
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/service/UserServiceImpl.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/service/UserServiceImpl.java
deleted file mode 100644
index b8b8d58..0000000
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.data/src/main/java/wxdgaming/boot/spring/data/service/UserServiceImpl.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package wxdgaming.boot.spring.data.service;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import wxdgaming.boot.spring.data.repository.UserRepository;
-
-/**
- * @author: wxd-gaming(無心道, 15388152619)
- * @version: 2024-08-02 19:51
- **/
-@Component
-public class UserServiceImpl {
- @Autowired private UserRepository userRepository;
-}
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/BootStarter.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/BootStarter.java
index 4e892c7..13f580b 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/BootStarter.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/BootStarter.java
@@ -21,7 +21,6 @@ import wxdgaming.boot.spring.starter.service.batis.RedisService;
@EnableAsync
@EnableScheduling
@EntityScan("wxdgaming.boot.spring.data")
-@EnableTransactionManagement
@EnableJpaRepositories("wxdgaming.boot.spring.data")
@SpringBootApplication(
scanBasePackages = {"wxdgaming.boot.spring"},
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/core/ApiLogAspect.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/core/ApiLogAspect.java
index 9c1f006..7ca91bd 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/core/ApiLogAspect.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/core/ApiLogAspect.java
@@ -1,5 +1,6 @@
package wxdgaming.boot.spring.starter.core;
+import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
@@ -7,10 +8,13 @@ import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
+import wxdgaming.boot.spring.data.entity.log.ApiLog;
+import wxdgaming.boot.spring.data.repository.ApiLogRepository;
import java.util.List;
import java.util.Map;
@@ -29,6 +33,8 @@ import java.util.stream.Stream;
@Component
public class ApiLogAspect {
+ // @Autowired ApiLogRepository apiLogRepository;
+
/**
* 切入连接点,使用固定 controller层下的所有文件
*/
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/service/GMController.java b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/service/GMController.java
index 323af03..e60f716 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/service/GMController.java
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/java/wxdgaming/boot/spring/starter/service/GMController.java
@@ -6,6 +6,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
+import wxdgaming.boot.spring.data.entity.log.ApiLog;
+import wxdgaming.boot.spring.data.repository.ApiLogRepository;
import wxdgaming.boot.spring.data.repository.UserRepository;
import wxdgaming.boot.spring.starter.BootStarter;
@@ -19,6 +21,7 @@ import wxdgaming.boot.spring.starter.BootStarter;
public class GMController {
@Autowired UserRepository userRepository;
+ @Autowired ApiLogRepository apiLogRepository;
@ResponseBody
@@ -32,6 +35,16 @@ public class GMController {
@RequestMapping("/reload/lua")
public String reload_lua(HttpServletRequest httpServletRequest,
@RequestBody(required = false) String body) throws Exception {
+
+ ApiLog apiLog = new ApiLog();
+ apiLog.setUid(System.nanoTime())
+ .setIp("127.0.0.1")
+ .setContentType(httpServletRequest.getHeader("content-type"))
+ .setUrl(httpServletRequest.getRequestURI())
+ .setPath(httpServletRequest.getServletPath())
+ .setMethod(httpServletRequest.getMethod())
+ .setParams(body);
+ apiLogRepository.save(apiLog);
return "ok";
}
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/application.yml b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/application.yml
index 1616f4a..a8663b0 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/application.yml
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/application.yml
@@ -21,14 +21,14 @@ spring:
exclude:
- org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration
datasource:
- url: jdbc:mysql://localhost:3306/mydb?createDatabaseIfNotExist=true
+ url: jdbc:mysql://localhost:3306/mydb?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
username: root
password: test
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
database: mysql
show-sql: true
- database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+# database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
hibernate:
ddl-auto: update
task:
diff --git a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/logback-spring.xml b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/logback-spring.xml
index 4e985d6..d984b9d 100644
--- a/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/logback-spring.xml
+++ b/wxdgaming.boot.spring/wxdgaming.boot.spring.starter/src/main/resources/logback-spring.xml
@@ -55,6 +55,7 @@
+