2025-10-22 10:57:48 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 10:57:49 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 10:57:49 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 10:57:49 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2025-10-22 10:57:49 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2025-10-22 10:57:49 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 10:57:49 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 56 ms. Found 4 JPA repository interfaces. 2025-10-22 10:57:49 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 10:57:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 10:57:50 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 10:57:50 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 10:57:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 10:57:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1194 ms 2025-10-22 10:57:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 10:57:50 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final 2025-10-22 10:57:50 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2025-10-22 10:57:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 10:57:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 10:57:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 10:57:51 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 10:57:51 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 10:57:51 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 2d731385-df19-4fdc-97bd-6c0a7dee5f37 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 10:57:51 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5b224995, org.springframework.security.web.context.SecurityContextPersistenceFilter@4b4473aa, org.springframework.security.web.header.HeaderWriterFilter@32b9bbb2, org.springframework.security.web.authentication.logout.LogoutFilter@5754dbfa, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2d37fa49, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@795609b9, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@369600ac, org.springframework.security.web.access.ExceptionTranslationFilter@1de92d7a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7a56b4b1] 2025-10-22 10:57:52 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 10:57:52 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 10:57:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 3.532 seconds (JVM running for 3.887) 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 10:57:52 CST 2025] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 206 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=206 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 206 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [206] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [206] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [206] 2025-10-22 10:57:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [206] 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 206 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID206: 成功=true 2025-10-22 10:57:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 10:58:20 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 10:58:20 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 10:58:20 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 11:01:58 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:01:58 [Thread-5] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:01:58 [Thread-5] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 11:01:58 [Thread-5] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:01:58 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:01:58 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:01:58 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:01:58 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:01:58 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15 ms. Found 4 JPA repository interfaces. 2025-10-22 11:01:58 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:01:58 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:01:58 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:01:58 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:01:58 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:01:58 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 299 ms 2025-10-22 11:01:58 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:01:58 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:01:58 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:01:58 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:01:58 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:01:58 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:01:58 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 96c296a5-e1ff-4747-983a-e7e64edab31d This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:01:58 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@542e1947, org.springframework.security.web.context.SecurityContextPersistenceFilter@537a8c45, org.springframework.security.web.header.HeaderWriterFilter@4f1cd8, org.springframework.security.web.authentication.logout.LogoutFilter@43abb4ba, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@264fc565, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3c656255, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@64b4e233, org.springframework.security.web.access.ExceptionTranslationFilter@642fd3fa, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@76b1b7db] 2025-10-22 11:01:58 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:01:58 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:01:58 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.575 seconds (JVM running for 250.449) 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:01:58 CST 2025] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 207 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=207 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 207 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [207] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [207] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [207] 2025-10-22 11:01:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [207] 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 207 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID207: 成功=true 2025-10-22 11:01:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:01:58 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:02 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:02 [Thread-7] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:02 [Thread-7] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:02 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:02 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:02 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:02 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:02 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:02 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:02 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:02 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:02 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:02 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:02 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:02 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:02 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 161 ms 2025-10-22 11:02:02 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:02 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:02 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:02 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:02 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageController' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\controller\MessageController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.qf.myafterprojecy.controller.MessageController]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problem: Syntax error on token "/", delete this token 2025-10-22 11:02:02 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:02 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:02 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 11:02:02 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageController' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\controller\MessageController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.qf.myafterprojecy.controller.MessageController]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problem: Syntax error on token "/", delete this token at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.qf.myafterprojecy.controller.MessageController]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problem: Syntax error on token "/", delete this token at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1326) ~[spring-beans-5.3.23.jar:5.3.23] ... 20 common frames omitted Caused by: java.lang.Error: Unresolved compilation problem: Syntax error on token "/", delete this token at com.qf.myafterprojecy.controller.MessageController.(MessageController.java:40) ~[classes/:na] at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[na:na] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211) ~[spring-beans-5.3.23.jar:5.3.23] ... 22 common frames omitted 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:05 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:05 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:05 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:05 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:05 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:05 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:05 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 191 ms 2025-10-22 11:02:05 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:05 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:05 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:05 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:05 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:05 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:05 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: febe7903-bd1a-4d1e-901a-81613f1f201b This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:05 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2d356a60, org.springframework.security.web.context.SecurityContextPersistenceFilter@6d9fee43, org.springframework.security.web.header.HeaderWriterFilter@11e2841e, org.springframework.security.web.authentication.logout.LogoutFilter@66b4eb4f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2a88a129, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@710c5638, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1250605f, org.springframework.security.web.access.ExceptionTranslationFilter@5d70c5ed, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@70c80367] 2025-10-22 11:02:05 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:05 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:05 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.415 seconds (JVM running for 257.149) 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:05 CST 2025] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 208 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=208 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 208 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [208] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [208] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [208] 2025-10-22 11:02:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [208] 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 208 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID208: 成功=true 2025-10-22 11:02:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:05 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:07 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:07 [Thread-11] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:07 [Thread-11] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:07 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:07 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:07 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:08 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:08 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:08 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:08 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:08 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:08 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:08 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 156 ms 2025-10-22 11:02:08 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:08 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:08 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:08 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:08 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:08 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:08 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: ff6df160-4c09-4b46-992c-0ff030ca563a This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:08 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ac5debc, org.springframework.security.web.context.SecurityContextPersistenceFilter@54e5a8b6, org.springframework.security.web.header.HeaderWriterFilter@7f6abc05, org.springframework.security.web.authentication.logout.LogoutFilter@3795773d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6bee9b69, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@646cd456, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@79c75e8c, org.springframework.security.web.access.ExceptionTranslationFilter@22b5b71d, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1e15f624] 2025-10-22 11:02:08 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:08 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.381 seconds (JVM running for 260.019) 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:08 CST 2025] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 209 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=209 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 209 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [209] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [209] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [209] 2025-10-22 11:02:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [209] 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 209 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID209: 成功=true 2025-10-22 11:02:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:08 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:17 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:17 [Thread-18] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:17 [Thread-18] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:17 [Thread-18] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:17 [Thread-18] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:17 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:18 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:18 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:18 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:18 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:18 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:18 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 187 ms 2025-10-22 11:02:18 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:18 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:18 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:18 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:18 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: cd8d71cb-2fbd-4d5f-9628-415b60dddcfd This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:18 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2757262b, org.springframework.security.web.context.SecurityContextPersistenceFilter@2633c693, org.springframework.security.web.header.HeaderWriterFilter@3fe9a7ad, org.springframework.security.web.authentication.logout.LogoutFilter@665529f9, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4ae30e3f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2c4c7512, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2ed40660, org.springframework.security.web.access.ExceptionTranslationFilter@7993fb5a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@39532a7a] 2025-10-22 11:02:18 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:18 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:18 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.461 seconds (JVM running for 270.001) 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:18 CST 2025] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 210 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=210 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 210 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [210] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [210] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [210] 2025-10-22 11:02:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [210] 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 210 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID210: 成功=true 2025-10-22 11:02:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:18 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:21 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:21 [Thread-22] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:21 [Thread-22] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:21 [Thread-22] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:21 [Thread-22] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:21 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:21 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:21 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:21 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:21 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:21 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:21 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:21 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:21 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 149 ms 2025-10-22 11:02:21 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:22 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:22 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:22 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:22 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:22 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:22 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 5f719d4f-b059-4d6a-88ee-e5dfe0b8d424 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:22 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@40312da7, org.springframework.security.web.context.SecurityContextPersistenceFilter@30751294, org.springframework.security.web.header.HeaderWriterFilter@7d46d1f, org.springframework.security.web.authentication.logout.LogoutFilter@170be2f5, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5cc44f97, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2b6a8cda, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@21f8a7c0, org.springframework.security.web.access.ExceptionTranslationFilter@4e5731c4, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@44839c4c] 2025-10-22 11:02:22 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:22 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:22 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.359 seconds (JVM running for 273.85) 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:22 CST 2025] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 211 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=211 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 211 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [211] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [211] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [211] 2025-10-22 11:02:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [211] 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 211 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID211: 成功=true 2025-10-22 11:02:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:22 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:24 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:24 [Thread-26] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:24 [Thread-26] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:24 [Thread-26] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:24 [Thread-26] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:24 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:24 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:24 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:24 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:24 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:24 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:24 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:24 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:24 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 169 ms 2025-10-22 11:02:24 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:24 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:24 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:24 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:24 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 7c713b3f-56cc-4643-bf17-8ba72b5a3701 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:24 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@33159654, org.springframework.security.web.context.SecurityContextPersistenceFilter@545659cd, org.springframework.security.web.header.HeaderWriterFilter@3cf69832, org.springframework.security.web.authentication.logout.LogoutFilter@4d940377, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@625cdf30, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@23d584a6, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2020fb65, org.springframework.security.web.access.ExceptionTranslationFilter@55b28f42, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@55439ce6] 2025-10-22 11:02:25 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:25 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.389 seconds (JVM running for 276.713) 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:25 CST 2025] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 212 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=212 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 212 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [212] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [212] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [212] 2025-10-22 11:02:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [212] 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 212 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID212: 成功=true 2025-10-22 11:02:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:25 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:26 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:26 [Thread-30] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:26 [Thread-30] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:26 [Thread-30] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:26 [Thread-30] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:26 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:26 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:26 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:26 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:26 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:26 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 166 ms 2025-10-22 11:02:26 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:26 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:26 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:26 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:26 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:26 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:26 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 449e62c0-fdb1-42af-b134-de8ad413b062 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:26 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6dc49ce4, org.springframework.security.web.context.SecurityContextPersistenceFilter@18508ee6, org.springframework.security.web.header.HeaderWriterFilter@3362d9db, org.springframework.security.web.authentication.logout.LogoutFilter@44483e60, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3d80b818, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7dfa0e53, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@14d6b5d9, org.springframework.security.web.access.ExceptionTranslationFilter@6ce58bf0, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@117c0c14] 2025-10-22 11:02:26 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:26 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.407 seconds (JVM running for 278.591) 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:26 CST 2025] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 213 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=213 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 213 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [213] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [213] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [213] 2025-10-22 11:02:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [213] 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 213 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID213: 成功=true 2025-10-22 11:02:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:26 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:02:30 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:02:30 [Thread-34] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:02:30 [Thread-34] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:30 [Thread-34] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:02:30 [Thread-34] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:02:30 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:02:30 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:02:30 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 11:02:30 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:02:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:02:30 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:02:30 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:02:30 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:02:30 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 161 ms 2025-10-22 11:02:30 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:02:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:02:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:02:30 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:02:30 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:02:30 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:02:30 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 5c7fa32d-0417-4fdf-be0e-bc548fc10b9a This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:02:30 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4639d9b8, org.springframework.security.web.context.SecurityContextPersistenceFilter@65827b40, org.springframework.security.web.header.HeaderWriterFilter@9305580, org.springframework.security.web.authentication.logout.LogoutFilter@6b563fa5, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@596e60e2, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@16efd439, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7432d904, org.springframework.security.web.access.ExceptionTranslationFilter@5902d997, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2e9e50e5] 2025-10-22 11:02:30 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:02:30 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:02:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.381 seconds (JVM running for 282.439) 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:02:30 CST 2025] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 214 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=214 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 214 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [214] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [214] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [214] 2025-10-22 11:02:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [214] 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 214 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID214: 成功=true 2025-10-22 11:02:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:02:30 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:04:33 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 11:04:33 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 11:04:33 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 11:06:02 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:06:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:06:02 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:06:02 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:06:02 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:06:02 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:06:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:06:02 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:06:02 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:06:02 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:06:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:06:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:06:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:06:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:06:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:06:05 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:06:05 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:06:05 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:06:05 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:06:05 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:06:05 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:06:05 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:06:05 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:06:05 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:06:05 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:06:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:06:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:06:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:06:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:06:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:07:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:07:28 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:07:28 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:07:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第二篇测试文章的内容] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-2.jpg] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [1] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试文章2] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [6] 2025-10-22 11:07:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [2] 2025-10-22 11:07:32 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:07:32 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:07:32 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:07:32 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:07:32 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:07:32 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:07:32 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:07:32 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:07:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:07:32 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:07:32 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:07:32 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:07:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:07:32 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:07:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:07:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:07:34 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:07:34 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:07:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [1] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试文章1] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [27] 2025-10-22 11:07:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [1] 2025-10-22 11:07:41 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:07:41 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:07:41 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:07:41 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:07:41 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:07:41 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:07:41 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:07:41 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:07:41 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:07:41 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:07:41 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:07:41 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:07:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:07:41 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:07:41 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:10:23 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:23 [Thread-38] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:23 [Thread-38] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 11:10:23 [Thread-38] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:23 [Thread-38] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:23 [Thread-38] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:23 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:23 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:23 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:23 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:23 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:23 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 172 ms 2025-10-22 11:10:23 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:23 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:23 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:23 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:23 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: e65b7589-2371-4943-a5d7-875d1fd24889 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:23 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1d775983, org.springframework.security.web.context.SecurityContextPersistenceFilter@107e275e, org.springframework.security.web.header.HeaderWriterFilter@489acb32, org.springframework.security.web.authentication.logout.LogoutFilter@2053b4fc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3a778575, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@59f1c95e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@10b6bb97, org.springframework.security.web.access.ExceptionTranslationFilter@5c57e65b, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@36bb1cb4] 2025-10-22 11:10:23 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:23 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.412 seconds (JVM running for 755.635) 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:23 CST 2025] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:23 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 215 2025-10-22 11:10:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=215 2025-10-22 11:10:24 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 215 2025-10-22 11:10:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [215] 2025-10-22 11:10:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [215] 2025-10-22 11:10:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [215] 2025-10-22 11:10:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [215] 2025-10-22 11:10:24 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 215 2025-10-22 11:10:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID215: 成功=true 2025-10-22 11:10:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:24 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:25 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:25 [Thread-42] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:25 [Thread-42] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:25 [Thread-42] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:25 [Thread-42] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:25 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:25 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:25 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:25 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:25 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:25 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 150 ms 2025-10-22 11:10:25 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:25 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:25 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:25 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:25 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: b9436163-f719-4b3e-828f-f41cfc94798b This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:25 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5b2155a0, org.springframework.security.web.context.SecurityContextPersistenceFilter@3892df6e, org.springframework.security.web.header.HeaderWriterFilter@76794912, org.springframework.security.web.authentication.logout.LogoutFilter@54cbe943, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@21d97315, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4601c0c8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@524b443d, org.springframework.security.web.access.ExceptionTranslationFilter@247878ee, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6634a8bb] 2025-10-22 11:10:25 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:25 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.352 seconds (JVM running for 757.443) 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:25 CST 2025] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 216 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=216 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 216 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [216] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [216] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [216] 2025-10-22 11:10:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [216] 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 216 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID216: 成功=true 2025-10-22 11:10:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:25 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:27 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:27 [Thread-46] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:27 [Thread-46] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:27 [Thread-46] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:27 [Thread-46] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:27 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:27 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:27 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:27 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:27 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:27 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 154 ms 2025-10-22 11:10:27 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:27 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:27 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:27 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:27 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: e9e39605-805a-4170-a4d2-ba8fd2828bcb This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:27 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@ac3df89, org.springframework.security.web.context.SecurityContextPersistenceFilter@3639727b, org.springframework.security.web.header.HeaderWriterFilter@75078532, org.springframework.security.web.authentication.logout.LogoutFilter@41d12438, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7469541c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@756116e2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@64d57825, org.springframework.security.web.access.ExceptionTranslationFilter@26a4e5a6, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4725fdc6] 2025-10-22 11:10:27 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:27 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.376 seconds (JVM running for 759.283) 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:27 CST 2025] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 217 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=217 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 217 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [217] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [217] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [217] 2025-10-22 11:10:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [217] 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 217 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID217: 成功=true 2025-10-22 11:10:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:27 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:30 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:30 [Thread-50] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:30 [Thread-50] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:30 [Thread-50] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:30 [Thread-50] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:30 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:30 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:30 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:30 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:30 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:30 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:30 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:30 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 165 ms 2025-10-22 11:10:30 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:30 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:30 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:30 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:30 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 0c0d917a-7851-4347-9c6d-2aade796a5e7 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:30 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4e021e40, org.springframework.security.web.context.SecurityContextPersistenceFilter@57a64162, org.springframework.security.web.header.HeaderWriterFilter@20a52461, org.springframework.security.web.authentication.logout.LogoutFilter@70ede8f7, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@440929a4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1caaafa8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2e3de408, org.springframework.security.web.access.ExceptionTranslationFilter@7d54b5f8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@16a46140] 2025-10-22 11:10:30 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:30 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.384 seconds (JVM running for 762.126) 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:30 CST 2025] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 218 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=218 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 218 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [218] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [218] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [218] 2025-10-22 11:10:30 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [218] 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 218 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID218: 成功=true 2025-10-22 11:10:30 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:30 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:31 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:31 [Thread-54] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:31 [Thread-54] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:31 [Thread-54] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:31 [Thread-54] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:31 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:32 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:32 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:32 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:32 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:32 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:32 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:32 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:32 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 153 ms 2025-10-22 11:10:32 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:32 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:32 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:32 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:32 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:32 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:32 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: cf5c72c3-710c-47c8-9ae5-65fdd1adc3cb This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:32 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@198df1bd, org.springframework.security.web.context.SecurityContextPersistenceFilter@6550a42c, org.springframework.security.web.header.HeaderWriterFilter@2020dde6, org.springframework.security.web.authentication.logout.LogoutFilter@5142f814, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@60c9d50, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@17ba7b3a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6029b893, org.springframework.security.web.access.ExceptionTranslationFilter@55a881fa, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1a03ee1d] 2025-10-22 11:10:32 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:32 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:32 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.363 seconds (JVM running for 763.957) 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:32 CST 2025] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 219 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=219 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 219 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [219] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [219] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [219] 2025-10-22 11:10:32 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [219] 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 219 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID219: 成功=true 2025-10-22 11:10:32 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:32 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:33 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:33 [Thread-58] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:33 [Thread-58] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:33 [Thread-58] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:33 [Thread-58] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:33 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:33 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:33 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:33 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:33 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:33 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:33 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 141 ms 2025-10-22 11:10:33 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:33 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:33 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:33 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:34 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: ff94aa3a-2dc4-46f9-a690-538b8aad5972 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:34 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@74104e70, org.springframework.security.web.context.SecurityContextPersistenceFilter@25abe655, org.springframework.security.web.header.HeaderWriterFilter@2777469d, org.springframework.security.web.authentication.logout.LogoutFilter@2c17d188, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4c50e5ba, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4b2af81b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@35d45fa2, org.springframework.security.web.access.ExceptionTranslationFilter@3cb77942, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1fbe2ca6] 2025-10-22 11:10:34 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:34 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.34 seconds (JVM running for 765.763) 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:34 CST 2025] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 220 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=220 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 220 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [220] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [220] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [220] 2025-10-22 11:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [220] 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 220 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID220: 成功=true 2025-10-22 11:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:34 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:40 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:40 [Thread-62] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:40 [Thread-62] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:40 [Thread-62] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:40 [Thread-62] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:40 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:40 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:40 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:40 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:40 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:40 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 141 ms 2025-10-22 11:10:40 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:40 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:40 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister 2025-10-22 11:10:40 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister 2025-10-22 11:10:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:40 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:40 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 11:10:40 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] ... 19 common frames omitted Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] ... 23 common frames omitted Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.Message at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[na:na] at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 31 common frames omitted Caused by: java.lang.reflect.InvocationTargetException: null at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:74) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[na:na] at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 40 common frames omitted Caused by: java.lang.Error: Unresolved compilation problem: Syntax error on token "public", delete this token at com.qf.myafterprojecy.pojo.Message.(Message.java:37) ~[classes/:na] at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[na:na] ... 43 common frames omitted 2025-10-22 11:10:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:45 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:45 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:45 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:45 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:45 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:45 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:45 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:45 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:45 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 244 ms 2025-10-22 11:10:45 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:45 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:45 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:45 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:46 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:46 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:46 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: a813fb9d-b4c7-486b-8200-83d01f9d4e39 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:46 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@67868d7f, org.springframework.security.web.context.SecurityContextPersistenceFilter@62f2e82e, org.springframework.security.web.header.HeaderWriterFilter@938123, org.springframework.security.web.authentication.logout.LogoutFilter@14a7444f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@45aa8c14, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7d676fd3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3e0fdf69, org.springframework.security.web.access.ExceptionTranslationFilter@f86ee7c, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@71ddec7] 2025-10-22 11:10:46 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:46 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:46 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.518 seconds (JVM running for 777.852) 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:46 CST 2025] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 221 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=221 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 221 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [221] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [221] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [221] 2025-10-22 11:10:46 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [221] 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 221 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID221: 成功=true 2025-10-22 11:10:46 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:46 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:47 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:47 [Thread-66] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:47 [Thread-66] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:47 [Thread-66] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:47 [Thread-66] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:47 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:47 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 153 ms 2025-10-22 11:10:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:47 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: f7817bf4-1dc1-4d24-bb40-1e0e7f487fb3 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:47 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5e4661c8, org.springframework.security.web.context.SecurityContextPersistenceFilter@5a5ff1e, org.springframework.security.web.header.HeaderWriterFilter@53334de7, org.springframework.security.web.authentication.logout.LogoutFilter@51017205, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2bcd8cf8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@32e310b4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@608a1242, org.springframework.security.web.access.ExceptionTranslationFilter@2607f61b, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2c2c6aca] 2025-10-22 11:10:47 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:48 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:48 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.369 seconds (JVM running for 779.688) 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:48 CST 2025] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 222 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=222 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 222 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [222] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [222] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [222] 2025-10-22 11:10:48 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [222] 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 222 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID222: 成功=true 2025-10-22 11:10:48 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:48 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:49 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:49 [Thread-73] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:49 [Thread-73] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:49 [Thread-73] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:49 [Thread-73] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:49 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:49 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:49 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:49 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:49 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:49 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:49 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:49 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:49 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 156 ms 2025-10-22 11:10:49 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:49 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:49 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:49 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:49 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:49 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:49 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: bdeacd01-cc27-45ce-85ed-e0e1a6db8ba5 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:49 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@38d61aa, org.springframework.security.web.context.SecurityContextPersistenceFilter@1c4e3133, org.springframework.security.web.header.HeaderWriterFilter@2d0b022, org.springframework.security.web.authentication.logout.LogoutFilter@1995e807, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@700f0a42, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@736977f5, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5fc42b7b, org.springframework.security.web.access.ExceptionTranslationFilter@75086b0, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@173a04f4] 2025-10-22 11:10:49 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:49 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:49 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.365 seconds (JVM running for 781.504) 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:49 CST 2025] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 223 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=223 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 223 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [223] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [223] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [223] 2025-10-22 11:10:49 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [223] 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 223 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID223: 成功=true 2025-10-22 11:10:49 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:49 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:52 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:52 [Thread-77] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:52 [Thread-77] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:52 [Thread-77] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:52 [Thread-77] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:52 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:52 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:52 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:52 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:52 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:52 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 141 ms 2025-10-22 11:10:52 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:52 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:52 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:52 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:52 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: bf7ffc5d-57c8-47fb-9bf1-39dd330b4ce3 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:52 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6dbd2747, org.springframework.security.web.context.SecurityContextPersistenceFilter@67d228aa, org.springframework.security.web.header.HeaderWriterFilter@43746b3e, org.springframework.security.web.authentication.logout.LogoutFilter@75fc7dc3, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@48f2e0f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@63d038ad, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4b64e301, org.springframework.security.web.access.ExceptionTranslationFilter@58c469d, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@13ec78ed] 2025-10-22 11:10:52 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:52 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.33 seconds (JVM running for 784.306) 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:52 CST 2025] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 224 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=224 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 224 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [224] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [224] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [224] 2025-10-22 11:10:52 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [224] 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 224 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID224: 成功=true 2025-10-22 11:10:52 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:52 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:10:59 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:10:59 [Thread-81] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:10:59 [Thread-81] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:59 [Thread-81] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:10:59 [Thread-81] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:10:59 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:10:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:10:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:10:59 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:10:59 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:10:59 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:10:59 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:10:59 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:10:59 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 163 ms 2025-10-22 11:10:59 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:10:59 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:10:59 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:10:59 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:10:59 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:10:59 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:10:59 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 39ed9d57-6597-4918-ab7a-280e9cd77191 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:10:59 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@32be7d6b, org.springframework.security.web.context.SecurityContextPersistenceFilter@253e60be, org.springframework.security.web.header.HeaderWriterFilter@bf0f8cb, org.springframework.security.web.authentication.logout.LogoutFilter@45b0d11d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@76bde237, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1f67eddf, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2f4b4b68, org.springframework.security.web.access.ExceptionTranslationFilter@5767da8d, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47b01154] 2025-10-22 11:10:59 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:10:59 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:10:59 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.373 seconds (JVM running for 791.196) 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:10:59 CST 2025] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 225 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=225 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 225 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [225] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [225] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [225] 2025-10-22 11:10:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [225] 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 225 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID225: 成功=true 2025-10-22 11:10:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:10:59 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:11:00 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:11:00 [Thread-85] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:11:00 [Thread-85] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:11:00 [Thread-85] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:11:00 [Thread-85] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:11:00 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:11:00 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:11:00 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:11:01 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:11:01 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:11:01 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:11:01 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:11:01 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:11:01 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:11:01 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:11:01 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 177 ms 2025-10-22 11:11:01 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:11:01 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:11:01 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:11:01 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:11:01 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:11:01 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:11:01 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: a936902f-bf16-4193-a6c0-ea51b597e61f This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:11:01 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@71360aa7, org.springframework.security.web.context.SecurityContextPersistenceFilter@59481b51, org.springframework.security.web.header.HeaderWriterFilter@7bc2ce66, org.springframework.security.web.authentication.logout.LogoutFilter@19e968cb, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1ecd8c78, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6dbe2b2a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@76b8adc4, org.springframework.security.web.access.ExceptionTranslationFilter@59655caf, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@368a6e3d] 2025-10-22 11:11:01 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:11:01 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:11:01 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.386 seconds (JVM running for 793.046) 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:11:01 CST 2025] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 226 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=226 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 226 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [226] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [226] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [226] 2025-10-22 11:11:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [226] 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 226 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID226: 成功=true 2025-10-22 11:11:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:11:01 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:11:04 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:11:04 [Thread-89] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:11:04 [Thread-89] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:11:04 [Thread-89] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:11:04 [Thread-89] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:11:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:11:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:11:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:11:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:11:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 11:11:04 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:11:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:11:04 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:11:04 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:11:05 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:11:05 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 151 ms 2025-10-22 11:11:05 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:11:05 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:11:05 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:11:05 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:11:05 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:11:05 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:11:05 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: f05d93a7-1efc-4e6b-9c71-03141e7f1eb2 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:11:05 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@79092fba, org.springframework.security.web.context.SecurityContextPersistenceFilter@629bfc56, org.springframework.security.web.header.HeaderWriterFilter@411eaa7, org.springframework.security.web.authentication.logout.LogoutFilter@4abf1056, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4971e7e5, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7c34b250, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6c3af331, org.springframework.security.web.access.ExceptionTranslationFilter@19d594b7, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@49cf8078] 2025-10-22 11:11:05 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:11:05 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:11:05 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.369 seconds (JVM running for 796.893) 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:11:05 CST 2025] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 227 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=227 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 227 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [227] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [227] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [227] 2025-10-22 11:11:05 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [227] 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 227 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID227: 成功=true 2025-10-22 11:11:05 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:11:05 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:11:07 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:11:07 [Thread-93] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:11:07 [Thread-93] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:11:07 [Thread-93] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:11:07 [Thread-93] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:11:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:11:07 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:11:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:11:07 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:11:07 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:11:07 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:11:07 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:11:07 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:11:07 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:11:07 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:11:07 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 150 ms 2025-10-22 11:11:07 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:11:07 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:11:07 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:11:07 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:11:07 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:11:07 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:11:07 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: d02405dc-0c28-4eb0-9752-c1474b1cd66b This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:11:07 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@61704f7b, org.springframework.security.web.context.SecurityContextPersistenceFilter@4b3fea48, org.springframework.security.web.header.HeaderWriterFilter@78abc4d8, org.springframework.security.web.authentication.logout.LogoutFilter@52c64922, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@d9bd639, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@403413d9, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@287f537b, org.springframework.security.web.access.ExceptionTranslationFilter@45111e65, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1b8f56d8] 2025-10-22 11:11:08 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:11:08 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:11:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.341 seconds (JVM running for 799.705) 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:11:08 CST 2025] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 228 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=228 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 228 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [228] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [228] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [228] 2025-10-22 11:11:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [228] 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 228 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID228: 成功=true 2025-10-22 11:11:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:11:08 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:12:36 [http-nio-8080-exec-2] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 11:12:36 [http-nio-8080-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 11:12:36 [http-nio-8080-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 11:12:36 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:12:36 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:12:36 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:12:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:12:36 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:12:36 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:12:36 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:12:36 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:12:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:12:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:12:36 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:12:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:12:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:12:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:12:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:13:42 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:13:42 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:13:42 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:13:42 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:13:42 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:13:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:13:42 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:13:42 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:13:42 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:13:42 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:13:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:13:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:13:42 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:13:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:13:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:14:22 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:14:22 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:14:22 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:14:22 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:14:22 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:14:22 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:14:22 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:14:22 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:14:22 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:14:22 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:14:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:14:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:14:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:14:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:14:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:14:24 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:14:24 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:14:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:14:26 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:14:26 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:14:26 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:14:26 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:14:26 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:14:26 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:14:26 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:14:26 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:14:26 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:14:26 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:14:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:14:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:14:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:14:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:14:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:14:32 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:14:32 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:14:32 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:14:32 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:14:32 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:14:32 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:14:32 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:14:32 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:14:32 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:14:32 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:14:32 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:14:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:14:32 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:14:32 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:14:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:14:48 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:14:48 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:14:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:14:52 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:14:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:14:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:14:52 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:14:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:14:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:14:52 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:14:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:14:52 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:14:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:14:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:14:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:14:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:14:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:14:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:16:04 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:16:04 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:16:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:16:39 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:16:39 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:16:39 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:16:39 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:16:39 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:16:39 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:16:39 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:16:39 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:16:39 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:16:39 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:16:39 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:16:39 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:16:39 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:16:39 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:16:39 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:16:42 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:16:42 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:16:42 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:16:42 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:16:42 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:16:42 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:16:42 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:16:42 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:16:42 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:16:42 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:16:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:16:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:16:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:16:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:16:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:18:39 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:18:39 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:18:39 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:23 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:23 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:23 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:19:23 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:19:23 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:19:23 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:19:23 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:19:23 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:19:23 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:19:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:23 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:19:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:19:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:19:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:19:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:19:24 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:24 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:40 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:40 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:44 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:44 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:48 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:48 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:48 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:51 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:51 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:19:58 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:19:58 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:19:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:00 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:00 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:03 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:03 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:03 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:07 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:07 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:20:07 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:20:07 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:20:07 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:20:07 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:07 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:20:07 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:20:07 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:20:07 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:20:07 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:07 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:20:07 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:20:07 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:20:07 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:20:10 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:20:10 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:20:10 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:10 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:20:10 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:20:10 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:20:10 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:20:10 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:20:10 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:20:10 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:20:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:20:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:20:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:20:12 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:12 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:28 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:28 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:20:56 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:20:56 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:20:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:21:04 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:21:04 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:21:04 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:21:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:21:04 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:21:04 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:21:04 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:21:04 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:21:04 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:21:04 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:21:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:21:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:21:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:21:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:21:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:21:15 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:21:15 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:21:15 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:21:15 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:21:15 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:21:15 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:21:15 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:21:15 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:21:15 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:21:15 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:21:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:21:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:21:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:21:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:21:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:21:20 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:21:20 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:21:20 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:21:20 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:21:20 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:21:20 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:21:20 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:21:20 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:21:20 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:21:20 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:21:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:21:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:21:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:21:20 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:21:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:21:25 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:21:25 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:21:25 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:21:25 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:21:25 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:21:25 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:21:25 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:21:25 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:21:25 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:21:25 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:21:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:21:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:21:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:21:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:21:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:21:52 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:21:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:21:52 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:21:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:21:52 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:21:52 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:21:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:21:52 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:21:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:21:52 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:21:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:21:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:21:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:21:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:21:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:07 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:07 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:07 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:16 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:16 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:18 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:18 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:18 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:21 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:21 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:24 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:24 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:28 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:28 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:32 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:32 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:22:32 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:22:32 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:22:32 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:32 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:22:32 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:22:32 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:22:32 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:22:32 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:22:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:22:32 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:32 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:22:32 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:22:32 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:22:46 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:46 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:22:46 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:46 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:22:46 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:22:46 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:22:46 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:22:46 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:22:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:46 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:22:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:22:46 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:22:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:22:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:22:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:22:56 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:22:56 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:22:56 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:22:56 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:22:56 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:22:56 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:22:56 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:22:56 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:22:56 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:22:56 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:22:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:22:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:22:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:22:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:22:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:24 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:24 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:24 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:23:24 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:23:24 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:23:24 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:23:24 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:23:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:24 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:23:24 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:23:24 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:23:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:23:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:23:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:23:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:24 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:24 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:24 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:23:24 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:23:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:23:24 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:23:24 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:23:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:23:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:23:24 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:23:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:23:24 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:23:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:23:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:25 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:25 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:30 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:23:30 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:23:30 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:30 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:23:30 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:23:30 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:23:30 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:23:30 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:23:30 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:30 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:23:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:23:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:23:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:23:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:37 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:23:37 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:23:37 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:37 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:23:37 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:23:37 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:23:37 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:23:37 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:37 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:23:37 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:23:37 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:23:37 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:37 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:37 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:23:37 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:23:48 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:23:48 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:23:48 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:23:48 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:48 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:23:48 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:23:48 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:23:48 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:23:48 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:48 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:23:48 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:23:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:23:48 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:48 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:23:48 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:23:51 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:23:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:23:51 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:23:51 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:23:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:23:51 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:23:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:23:51 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:23:51 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:23:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:23:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:23:51 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:23:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:23:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:26:41 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:26:41 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:26:41 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:26:41 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:26:41 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:26:41 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:26:41 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:26:41 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:26:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:26:41 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:26:41 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:26:41 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:26:41 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:26:41 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:26:41 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:26:45 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:26:45 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:26:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:26:45 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:26:45 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:26:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:26:45 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:26:45 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:26:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:26:45 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:26:45 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:26:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:26:45 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:26:45 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:26:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:27:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:27:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:27:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:27:02 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:27:02 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:27:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:27:02 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:27:02 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:27:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:27:02 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:27:02 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:27:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:27:02 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:27:02 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:27:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:28:32 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:28:32 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:28:32 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:28:32 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:28:32 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:28:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:28:32 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:28:32 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:28:32 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:28:32 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:28:32 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:28:32 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:28:32 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:28:32 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:28:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:29:54 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications) 2025-10-22 11:29:54 [Thread-97] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:29:54 [Thread-97] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 11:29:54 [Thread-97] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:29:54 [Thread-97] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:29:54 [Thread-97] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:29:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:29:54 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:29:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:29:54 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:29:54 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 11:29:54 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:29:54 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:29:54 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:29:54 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:29:54 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:29:54 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 184 ms 2025-10-22 11:29:55 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:29:55 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:29:55 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:29:55 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:29:55 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:29:55 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:29:55 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 808aa6dd-fd1e-48eb-83d8-52176511c9b7 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:29:55 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6d035f4b, org.springframework.security.web.context.SecurityContextPersistenceFilter@712cf810, org.springframework.security.web.header.HeaderWriterFilter@22324a1, org.springframework.security.web.authentication.logout.LogoutFilter@6f0f0163, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3659003f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1c4e0e17, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@59e057f5, org.springframework.security.web.access.ExceptionTranslationFilter@12970556, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2dd4cdc8] 2025-10-22 11:29:55 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:29:55 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:29:55 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.435 seconds (JVM running for 1926.907) 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:29:55 CST 2025] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 229 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=229 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 229 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [229] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [229] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [229] 2025-10-22 11:29:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [229] 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 229 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID229: 成功=true 2025-10-22 11:29:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:29:55 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:29:57 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:29:57 [Thread-101] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:29:57 [Thread-101] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:29:57 [Thread-101] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:29:57 [Thread-101] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:29:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:29:57 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:29:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:29:57 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:29:57 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 4 JPA repository interfaces. 2025-10-22 11:29:57 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:29:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:29:57 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:29:57 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:29:57 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:29:57 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 151 ms 2025-10-22 11:29:57 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:29:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:29:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:29:57 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:29:57 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:29:57 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:29:58 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 4ba20fae-2897-42a5-b565-d90d495a55d3 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:29:58 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1191a8d9, org.springframework.security.web.context.SecurityContextPersistenceFilter@3e881feb, org.springframework.security.web.header.HeaderWriterFilter@e64f55e, org.springframework.security.web.authentication.logout.LogoutFilter@71f1debb, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@87861be, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@269f3060, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@14654ccf, org.springframework.security.web.access.ExceptionTranslationFilter@148759c8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@52b83c40] 2025-10-22 11:29:58 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:29:58 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:29:58 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.34 seconds (JVM running for 1929.748) 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:29:58 CST 2025] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 230 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=230 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 230 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [230] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [230] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [230] 2025-10-22 11:29:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [230] 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 230 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID230: 成功=true 2025-10-22 11:29:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:29:58 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:29:59 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 11:29:59 [Thread-105] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 11:29:59 [Thread-105] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:29:59 [Thread-105] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 11:29:59 [Thread-105] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 11:29:59 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 11:29:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 11:29:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 11:29:59 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 11:29:59 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 11:29:59 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 11:29:59 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 11:29:59 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 11:29:59 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 148 ms 2025-10-22 11:29:59 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 11:29:59 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 11:29:59 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 11:29:59 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 11:29:59 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 11:29:59 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 11:29:59 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 73bb3a94-229a-4c2d-8f85-bb4d39350de4 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 11:29:59 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2035d64c, org.springframework.security.web.context.SecurityContextPersistenceFilter@1ebbe848, org.springframework.security.web.header.HeaderWriterFilter@11855141, org.springframework.security.web.authentication.logout.LogoutFilter@4df5ccf2, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@661c9616, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3779cc6c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@51fe20d5, org.springframework.security.web.access.ExceptionTranslationFilter@44e2badb, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3580cf2f] 2025-10-22 11:29:59 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 11:29:59 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 11:29:59 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.338 seconds (JVM running for 1931.55) 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 2 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=2 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 11:29:59 CST 2025] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 231 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=231 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 231 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [231] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [231] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [231] 2025-10-22 11:29:59 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [231] 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 231 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID231: 成功=true 2025-10-22 11:29:59 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 11:29:59 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 11:30:16 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 11:30:16 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 11:30:16 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms 2025-10-22 11:30:16 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:30:16 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:30:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:30:16 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:30:16 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:30:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:30:16 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:30:16 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:30:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:30:16 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:30:16 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:30:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:30:16 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:30:16 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:30:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:32:23 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:32:23 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:32:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:32:23 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:32:23 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:32:23 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:32:23 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:32:23 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:32:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:32:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:32:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:32:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:32:23 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:32:23 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:32:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:34:31 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:34:31 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:34:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:34:31 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:34:31 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:34:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:34:31 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:34:31 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:34:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:34:31 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:34:31 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:34:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:34:31 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:34:31 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:34:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:35:58 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 11:35:58 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 11:35:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:35:58 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 11:35:58 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 11:35:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:35:58 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 11:35:58 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 11:35:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:35:58 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 11:35:58 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 11:35:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:35:58 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 11:35:58 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 11:35:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 11:36:44 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 2025-10-22 11:36:44 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 2025-10-22 11:36:44 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 2025-10-22 11:36:44 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 2025-10-22 11:36:44 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 2025-10-22 11:36:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:36:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:44 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:36:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:36:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] 2025-10-22 11:36:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] 2025-10-22 11:36:44 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] 2025-10-22 11:36:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] 2025-10-22 11:36:44 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 2025-10-22 11:36:44 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 2025-10-22 11:36:44 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 2025-10-22 11:36:44 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 2025-10-22 11:36:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:36:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:36:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:36:44 [http-nio-8080-exec-8] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 11:36:44 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 11:36:44 [http-nio-8080-exec-6] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 11:36:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:46 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 2025-10-22 11:36:46 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 2025-10-22 11:36:46 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 2025-10-22 11:36:46 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 2025-10-22 11:36:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 2025-10-22 11:36:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:36:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] 2025-10-22 11:36:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] 2025-10-22 11:36:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:36:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:36:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] 2025-10-22 11:36:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] 2025-10-22 11:36:46 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 2025-10-22 11:36:46 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 2025-10-22 11:36:46 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 2025-10-22 11:36:46 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 2025-10-22 11:36:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 11:36:46 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 11:36:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 11:36:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:46 [http-nio-8080-exec-8] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 11:36:46 [http-nio-8080-exec-5] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 11:36:46 [http-nio-8080-exec-6] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 11:36:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 11:36:50 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:36:50 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:37:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:37:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:54:07 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:54:07 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:55:43 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:55:43 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:57:21 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:57:21 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:57:27 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:57:27 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 11:58:03 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 11:58:03 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:00:38 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:00:38 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:01:11 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:01:11 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:02:04 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:02:04 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:02:05 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:02:05 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:02:41 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:02:41 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:05:10 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:05:10 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:05:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:05:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:05:59 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:05:59 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:06:35 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收创建消息的请求: 11 2025-10-22 12:06:35 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 保存消息: 11 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [11] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 12:06:35 CST 2025] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [1dwad@qq.com] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [11] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 12:06:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 12:06:35 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 消息保存成功: 232 2025-10-22 12:06:35 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:06:35 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:06:39 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:06:39 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:06:46 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:06:46 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:07:18 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:07:18 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:07:19 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:07:19 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:07:21 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 12:07:21 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 12:07:26 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 2025-10-22 12:07:26 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 2025-10-22 12:07:26 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 2025-10-22 12:07:26 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 2025-10-22 12:07:26 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 2025-10-22 12:07:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 12:07:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] 2025-10-22 12:07:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 12:07:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 12:07:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 12:07:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] 2025-10-22 12:07:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] 2025-10-22 12:07:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] 2025-10-22 12:07:26 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 2025-10-22 12:07:26 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 2025-10-22 12:07:26 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 2025-10-22 12:07:26 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 2025-10-22 12:07:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 12:07:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 12:07:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 12:07:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 12:07:26 [http-nio-8080-exec-2] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 12:07:26 [http-nio-8080-exec-7] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 12:07:26 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 2025-10-22 12:07:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 12:07:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 12:07:27 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 12:07:27 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 12:07:27 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 12:07:27 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 12:07:27 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 12:07:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 12:07:27 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 12:07:27 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 12:07:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 12:07:27 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 12:07:27 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 12:07:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 12:07:27 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 12:07:27 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 12:07:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 13:27:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:27:28 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:27:28 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:27:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [28] 2025-10-22 13:27:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:30:43 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:30:43 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:30:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:36:05 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:36:05 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:36:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:36:05 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 13:36:05 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 13:36:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 13:36:05 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 13:36:05 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 13:36:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 13:36:05 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 13:36:05 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 13:36:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 13:36:05 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 13:36:05 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 13:36:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 13:43:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:43:54 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:43:54 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:43:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [29] 2025-10-22 13:43:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:44:16 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:44:16 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:44:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:44:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:44:21 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:44:21 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:44:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [30] 2025-10-22 13:44:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:50:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:50:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:50:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:50:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [31] 2025-10-22 13:50:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:51:50 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:51:50 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:51:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:52:11 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:52:11 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:52:11 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:52:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [32] 2025-10-22 13:52:11 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:53:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:09 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:53:09 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:09 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [33] 2025-10-22 13:53:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:53:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:24 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:53:24 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [34] 2025-10-22 13:53:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:53:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:45 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:53:45 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [35] 2025-10-22 13:53:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:53:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:50 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:53:50 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:53:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [36] 2025-10-22 13:53:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:54:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:54:38 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:54:38 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:54:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [37] 2025-10-22 13:54:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:55:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:55:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:55:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:55:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [38] 2025-10-22 13:55:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 13:56:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:56:24 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 13:56:24 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:56:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [39] 2025-10-22 13:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:00:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:00:50 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:00:50 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:00:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [40] 2025-10-22 14:00:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:01:08 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:01:08 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:01:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [41] 2025-10-22 14:01:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:01:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [42] 2025-10-22 14:01:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:02:19 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:02:19 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:02:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:02:19 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 14:02:19 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 14:02:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 14:02:19 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 14:02:19 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 14:02:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:02:19 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 14:02:19 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 14:02:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 14:02:19 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 14:02:19 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 14:02:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 14:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:02:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 14:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:02:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 14:02:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:02:30 [http-nio-8080-exec-1] ERROR c.q.m.service.ArticleService - 增加文章浏览量失败: Cannot invoke "java.lang.Integer.intValue()" because the return value of "com.qf.myafterprojecy.pojo.Article.getViewCount()" is null 2025-10-22 14:02:33 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:02:33 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:02:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:02:33 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 14:02:33 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 14:02:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 14:02:33 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 14:02:33 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 14:02:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:02:33 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 14:02:33 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 14:02:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 14:02:33 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 14:02:33 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 14:02:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 14:02:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:02:59 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:02:59 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:02:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [43] 2025-10-22 14:02:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:03:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:03:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:03:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:44 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:44 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:08:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [44] 2025-10-22 14:08:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:08:46 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:08:46 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:08:49 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:08:49 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:08:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:49 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 14:08:49 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 14:08:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 14:08:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 14:08:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 14:08:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:08:49 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 14:08:49 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 14:08:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 14:08:49 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 14:08:49 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 14:08:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 14:08:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:50 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:08:50 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:08:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [0] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是第一篇测试文章的内容] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test-img-1.jpg] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [VARCHAR] - [测试文章1] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [TIMESTAMP] - [2025-10-10T16:52:40.934615] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [9] as [INTEGER] - [45] 2025-10-22 14:08:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [10] as [INTEGER] - [1] 2025-10-22 14:08:54 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:08:54 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:08:57 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:08:57 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:08:57 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:08:57 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 14:08:57 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 14:08:57 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 14:08:57 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 14:08:57 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 14:08:57 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:08:57 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 14:08:57 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 14:08:57 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 14:08:57 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 14:08:57 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 14:08:57 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 14:09:00 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:09:00 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:09:14 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收创建消息的请求: dwa 2025-10-22 14:09:14 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 保存消息: dwa 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [null] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [1] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:09:14 CST 2025] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [aabelavasdev@outlook.com] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [dwa] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:09:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:09:14 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 消息保存成功: 233 2025-10-22 14:09:14 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:09:14 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:25 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:10:25 [Thread-109] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:10:25 [Thread-109] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 14:10:25 [Thread-109] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:25 [Thread-109] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:10:25 [Thread-109] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:10:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:10:25 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:10:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:10:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:10:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:10:26 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:10:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:10:26 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:10:26 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:10:26 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:10:26 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 174 ms 2025-10-22 14:10:26 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:10:26 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:10:26 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:10:26 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:10:26 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:10:26 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:26 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: df645803-2ced-42c5-b7ea-09f08427bcb5 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:10:26 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1c1a124e, org.springframework.security.web.context.SecurityContextPersistenceFilter@5d350df2, org.springframework.security.web.header.HeaderWriterFilter@4e8ea19a, org.springframework.security.web.authentication.logout.LogoutFilter@a21e9b4, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1ce1853b, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@546f5c6e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1f72d3df, org.springframework.security.web.access.ExceptionTranslationFilter@6d64a445, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@612dbe83] 2025-10-22 14:10:26 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:10:26 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:10:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.413 seconds (JVM running for 11558.048) 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:10:26 CST 2025] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 234 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=234 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 234 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [234] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [234] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [234] 2025-10-22 14:10:26 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [234] 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 234 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID234: 成功=true 2025-10-22 14:10:26 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:10:26 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:10:33 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:10:33 [Thread-113] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:10:33 [Thread-113] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:33 [Thread-113] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:10:33 [Thread-113] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:10:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:10:33 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:10:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:10:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:10:34 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 14:10:34 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:10:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:10:34 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:10:34 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:10:34 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:10:34 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 150 ms 2025-10-22 14:10:34 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:10:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:10:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:10:34 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:10:34 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:10:34 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:34 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 6d075288-30dc-4c84-aaee-746e4f50dfb1 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:10:34 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5b2f97f3, org.springframework.security.web.context.SecurityContextPersistenceFilter@25466c50, org.springframework.security.web.header.HeaderWriterFilter@4750f89, org.springframework.security.web.authentication.logout.LogoutFilter@55567bd6, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6c5da3bc, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6f41f820, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@57d23587, org.springframework.security.web.access.ExceptionTranslationFilter@2a55294e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3443f882] 2025-10-22 14:10:34 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:10:34 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:10:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.344 seconds (JVM running for 11565.928) 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:10:34 CST 2025] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 235 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=235 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 235 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [235] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [235] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [235] 2025-10-22 14:10:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [235] 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 235 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID235: 成功=true 2025-10-22 14:10:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:10:34 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:10:36 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:10:36 [Thread-117] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:10:36 [Thread-117] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:36 [Thread-117] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:10:36 [Thread-117] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:10:36 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:10:36 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:10:36 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:10:36 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:10:36 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 14:10:36 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:10:36 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:10:36 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:10:36 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:10:36 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:10:36 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 158 ms 2025-10-22 14:10:36 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:10:36 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:10:36 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:10:36 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:10:36 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:10:36 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:37 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: c66fef79-4cf5-400c-ac0b-bea27f581bee This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:10:37 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6c303b1e, org.springframework.security.web.context.SecurityContextPersistenceFilter@25fa5b2a, org.springframework.security.web.header.HeaderWriterFilter@7803205f, org.springframework.security.web.authentication.logout.LogoutFilter@399cee3b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@10f30fbb, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2f2803a1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@366d4195, org.springframework.security.web.access.ExceptionTranslationFilter@27b30afe, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@84d33e3] 2025-10-22 14:10:37 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:10:37 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:10:37 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.401 seconds (JVM running for 11568.812) 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:10:37 CST 2025] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 236 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=236 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 236 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [236] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [236] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [236] 2025-10-22 14:10:37 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [236] 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 236 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID236: 成功=true 2025-10-22 14:10:37 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:10:37 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:10:52 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:10:52 [Thread-121] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:10:52 [Thread-121] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:52 [Thread-121] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:10:52 [Thread-121] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:10:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:10:52 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:10:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:10:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:10:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:10:52 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:10:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:10:52 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:10:52 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:10:52 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:10:52 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 142 ms 2025-10-22 14:10:52 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:10:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:10:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:10:52 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:10:52 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:10:52 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:53 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 87072427-9af7-4076-8627-af41e10ce8fc This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:10:53 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4d41524c, org.springframework.security.web.context.SecurityContextPersistenceFilter@849dbd6, org.springframework.security.web.header.HeaderWriterFilter@1486bb8d, org.springframework.security.web.authentication.logout.LogoutFilter@3717db88, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@369bca7e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@50bdaa44, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5e4c703, org.springframework.security.web.access.ExceptionTranslationFilter@5036cedf, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2b695640] 2025-10-22 14:10:53 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:10:53 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:10:53 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.347 seconds (JVM running for 11584.747) 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:10:53 CST 2025] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 237 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=237 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 237 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [237] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [237] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [237] 2025-10-22 14:10:53 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [237] 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 237 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID237: 成功=true 2025-10-22 14:10:53 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:10:53 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:10:56 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:10:56 [Thread-125] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:10:56 [Thread-125] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:56 [Thread-125] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:10:56 [Thread-125] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:10:56 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:10:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:10:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 14:10:56 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:10:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:10:56 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:10:56 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:10:56 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:10:56 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 177 ms 2025-10-22 14:10:56 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:10:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:10:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:10:56 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:10:56 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:10:56 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:56 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 6225f519-cc4d-4bb2-91fb-2a1187de3b5e This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:10:56 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2dda85d9, org.springframework.security.web.context.SecurityContextPersistenceFilter@669cf965, org.springframework.security.web.header.HeaderWriterFilter@78fbf6a9, org.springframework.security.web.authentication.logout.LogoutFilter@54e41981, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@30d990fc, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@725b6bcf, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7d129eb1, org.springframework.security.web.access.ExceptionTranslationFilter@2e80505, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@34e91c60] 2025-10-22 14:10:56 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:10:56 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:10:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.402 seconds (JVM running for 11588.641) 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:10:56 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:10:56 CST 2025] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:10:56 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:10:57 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 238 2025-10-22 14:10:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=238 2025-10-22 14:10:57 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 238 2025-10-22 14:10:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [238] 2025-10-22 14:10:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [238] 2025-10-22 14:10:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [238] 2025-10-22 14:10:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [238] 2025-10-22 14:10:57 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 238 2025-10-22 14:10:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID238: 成功=true 2025-10-22 14:10:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:10:57 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:10:58 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:10:58 [Thread-129] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:10:58 [Thread-129] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:58 [Thread-129] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:10:58 [Thread-129] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:10:58 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:10:58 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:10:58 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 14:10:58 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:10:58 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:10:58 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:10:58 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:10:58 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:10:58 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 162 ms 2025-10-22 14:10:58 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:10:58 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:10:58 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:10:58 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:10:58 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:10:58 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:10:58 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 0b17f159-2978-49e7-a4cc-140814c0ebf1 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:10:58 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@9de18b9, org.springframework.security.web.context.SecurityContextPersistenceFilter@3ba5547f, org.springframework.security.web.header.HeaderWriterFilter@1c12299f, org.springframework.security.web.authentication.logout.LogoutFilter@4fd2e84a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@41e768e7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5316dc6d, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1be71c53, org.springframework.security.web.access.ExceptionTranslationFilter@725c17e9, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7c2b3e02] 2025-10-22 14:10:58 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:10:58 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:10:58 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.385 seconds (JVM running for 11590.497) 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:10:58 CST 2025] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 239 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=239 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 239 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [239] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [239] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [239] 2025-10-22 14:10:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [239] 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 239 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID239: 成功=true 2025-10-22 14:10:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:10:58 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:11:09 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 3 class path changes (0 additions, 0 deletions, 3 modifications) 2025-10-22 14:11:09 [Thread-133] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:11:09 [Thread-133] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:11:09 [Thread-133] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:11:09 [Thread-133] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:11:09 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:11:09 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:11:09 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:11:09 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:11:09 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:11:09 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:11:09 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:11:09 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:11:09 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 160 ms 2025-10-22 14:11:09 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:11:09 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:11:09 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:11:09 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:11:09 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:11:09 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:11:09 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 29672d57-8970-46a7-b44c-fba418dec4fe This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:11:09 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@64b45e8c, org.springframework.security.web.context.SecurityContextPersistenceFilter@3398c855, org.springframework.security.web.header.HeaderWriterFilter@3cc5e14, org.springframework.security.web.authentication.logout.LogoutFilter@43af5c0b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2b951a6a, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@575d38ef, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6e27b19c, org.springframework.security.web.access.ExceptionTranslationFilter@12fb364, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@768e40ab] 2025-10-22 14:11:09 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:11:09 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:11:09 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.365 seconds (JVM running for 11601.411) 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:11:09 CST 2025] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 240 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=240 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 240 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [240] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [240] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [240] 2025-10-22 14:11:09 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [240] 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 240 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID240: 成功=true 2025-10-22 14:11:09 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:11:09 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:11:19 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:11:19 [Thread-137] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:11:19 [Thread-137] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:11:19 [Thread-137] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:11:19 [Thread-137] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:11:19 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:11:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:11:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 4 JPA repository interfaces. 2025-10-22 14:11:19 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:11:19 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:11:19 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:11:19 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:11:19 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:11:19 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 198 ms 2025-10-22 14:11:19 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:11:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:11:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:11:19 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:11:19 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:11:19 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:11:19 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 8a476e40-6a5d-4c54-b11e-f5cbe9663125 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:11:19 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5d52cb38, org.springframework.security.web.context.SecurityContextPersistenceFilter@17d7a806, org.springframework.security.web.header.HeaderWriterFilter@7f68e2bb, org.springframework.security.web.authentication.logout.LogoutFilter@7f575270, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5728edd6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6d2f1d67, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@22a87793, org.springframework.security.web.access.ExceptionTranslationFilter@3441cf83, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3806b3e7] 2025-10-22 14:11:19 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:11:19 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:11:19 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.444 seconds (JVM running for 11611.412) 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:11:19 CST 2025] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 241 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=241 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 241 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [241] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [241] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [241] 2025-10-22 14:11:19 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [241] 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 241 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID241: 成功=true 2025-10-22 14:11:19 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:11:19 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:11:21 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:11:21 [Thread-141] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:11:21 [Thread-141] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:11:21 [Thread-141] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:11:21 [Thread-141] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:11:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:11:21 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:11:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:11:21 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:11:21 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:11:21 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:11:21 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:11:21 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:11:21 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:11:21 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:11:21 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 159 ms 2025-10-22 14:11:21 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:11:21 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:11:21 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:11:21 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:11:21 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:11:21 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:11:21 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 5c4a6f4f-a77e-402a-9411-b694f6402e80 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:11:21 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@79ed0597, org.springframework.security.web.context.SecurityContextPersistenceFilter@59302c5b, org.springframework.security.web.header.HeaderWriterFilter@1e77bb97, org.springframework.security.web.authentication.logout.LogoutFilter@6f16b244, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2f2b98ce, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1494a81e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3dee50f0, org.springframework.security.web.access.ExceptionTranslationFilter@5f0c8114, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@20e877b0] 2025-10-22 14:11:21 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:11:22 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:11:22 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.392 seconds (JVM running for 11613.704) 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:11:22 CST 2025] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 242 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=242 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 242 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [242] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [242] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [242] 2025-10-22 14:11:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [242] 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 242 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID242: 成功=true 2025-10-22 14:11:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:11:22 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:13:06 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 14:13:06 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 14:13:06 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 14:13:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:13:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:13:06 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:13:06 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:14:11 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:14:11 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:15:49 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:15:49 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:16:36 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:16:36 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:19:34 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:19:34 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:19:34 [http-nio-8080-exec-9] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy484.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy486.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 14:19:37 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:19:37 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:19:40 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:19:40 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:19:40 [http-nio-8080-exec-1] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy484.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy486.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 14:21:29 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:21:29 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:21:29 [http-nio-8080-exec-3] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy484.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy486.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 14:21:39 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:21:39 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:21:45 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:21:45 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:21:45 [http-nio-8080-exec-2] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy484.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy486.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 14:22:22 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:22:22 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:22:28 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:22:28 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:22:28 [http-nio-8080-exec-8] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy484.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy40/jdk.proxy40.$Proxy486.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.id = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 14:24:21 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:24:21 [Thread-145] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:24:21 [Thread-145] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 14:24:21 [Thread-145] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:21 [Thread-145] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:24:21 [Thread-145] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:24:21 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:24:21 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:24:21 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 4 JPA repository interfaces. 2025-10-22 14:24:21 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:24:21 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:24:21 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:24:21 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:24:21 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:24:21 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 258 ms 2025-10-22 14:24:21 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:24:21 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:24:21 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:24:21 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:24:21 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:24:21 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:21 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 9cd41d16-3e8d-4b13-aecb-89ce2ef43ca2 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:24:21 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1f85450b, org.springframework.security.web.context.SecurityContextPersistenceFilter@26388f39, org.springframework.security.web.header.HeaderWriterFilter@19333496, org.springframework.security.web.authentication.logout.LogoutFilter@e0526ed, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@56abfaf5, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6cb12383, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3965efd8, org.springframework.security.web.access.ExceptionTranslationFilter@6d3ae340, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@183e23cf] 2025-10-22 14:24:21 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:24:21 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:24:21 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.493 seconds (JVM running for 12393.353) 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:24:21 CST 2025] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 243 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=243 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 243 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [243] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [243] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [243] 2025-10-22 14:24:21 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [243] 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 243 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID243: 成功=true 2025-10-22 14:24:21 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:24:21 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:24:23 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:24:23 [Thread-149] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:24:23 [Thread-149] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:23 [Thread-149] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:24:23 [Thread-149] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:24:23 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:24:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:24:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 4 JPA repository interfaces. 2025-10-22 14:24:23 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:24:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:24:23 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:24:23 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:24:23 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:24:23 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 188 ms 2025-10-22 14:24:23 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:24:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:24:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:24:23 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:24:23 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:24:23 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:23 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 4f078add-dedd-45f5-9e6c-76c0be2ca60f This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:24:23 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7556fb49, org.springframework.security.web.context.SecurityContextPersistenceFilter@bb2892d, org.springframework.security.web.header.HeaderWriterFilter@68ec5c68, org.springframework.security.web.authentication.logout.LogoutFilter@3c77d3c5, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@79172940, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2996cb2d, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@40c08d89, org.springframework.security.web.access.ExceptionTranslationFilter@45f2a473, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5c14bb59] 2025-10-22 14:24:23 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:24:23 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:24:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.395 seconds (JVM running for 12395.221) 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:24:23 CST 2025] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 244 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=244 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 244 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [244] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [244] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [244] 2025-10-22 14:24:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [244] 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 244 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID244: 成功=true 2025-10-22 14:24:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:24:23 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:24:24 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:24:24 [Thread-153] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:24:24 [Thread-153] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:24 [Thread-153] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:24:24 [Thread-153] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:24:25 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:24:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:24:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:24:25 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:24:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:24:25 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:24:25 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:24:25 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:24:25 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 168 ms 2025-10-22 14:24:25 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:24:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:24:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:24:25 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:24:25 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:24:25 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:25 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: f7197f6e-49c3-4fc5-8464-dd4a7a31af04 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:24:25 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7a6c69b3, org.springframework.security.web.context.SecurityContextPersistenceFilter@70d4fda2, org.springframework.security.web.header.HeaderWriterFilter@6570760, org.springframework.security.web.authentication.logout.LogoutFilter@1a8a23b6, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@48c9343e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@73369b54, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@647a4658, org.springframework.security.web.access.ExceptionTranslationFilter@18147a01, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7de80177] 2025-10-22 14:24:25 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:24:25 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:24:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.378 seconds (JVM running for 12397.073) 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:24:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:24:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:24:25 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:24:25 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:24:25 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 14:24:25 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:785) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:766) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy43/jdk.proxy43.$Proxy514.countByArticleId(Unknown Source) ~[na:na] at com.qf.myafterprojecy.runner.MessageDataChecker.testQueryMethods(MessageDataChecker.java:105) ~[classes/:na] at com.qf.myafterprojecy.runner.MessageDataChecker.run(MessageDataChecker.java:47) ~[classes/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:782) ~[spring-boot-2.6.13.jar:2.6.13] ... 8 common frames omitted Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 18 common frames omitted 2025-10-22 14:24:25 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:24:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:24:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:32:11 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:32:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:32:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. 2025-10-22 14:32:11 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:32:11 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:32:11 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:32:11 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:32:11 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:32:11 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 148 ms 2025-10-22 14:32:11 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:32:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:32:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:32:11 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:32:11 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:32:11 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:32:11 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 344cd4e6-13c9-41eb-b5fa-35d6ae2c07a0 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:32:11 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@8a42337, org.springframework.security.web.context.SecurityContextPersistenceFilter@1b331b6b, org.springframework.security.web.header.HeaderWriterFilter@6bdc1289, org.springframework.security.web.authentication.logout.LogoutFilter@49294e83, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4cb78c32, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2cdf2c76, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@51493442, org.springframework.security.web.access.ExceptionTranslationFilter@6c28327a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4d0294c2] 2025-10-22 14:32:11 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:32:11 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:32:11 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.373 seconds (JVM running for 12863.45) 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:32:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:32:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:32:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:32:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:32:11 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 14:32:11 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:785) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:766) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy44/jdk.proxy44.$Proxy524.countByArticleId(Unknown Source) ~[na:na] at com.qf.myafterprojecy.runner.MessageDataChecker.testQueryMethods(MessageDataChecker.java:105) ~[classes/:na] at com.qf.myafterprojecy.runner.MessageDataChecker.run(MessageDataChecker.java:47) ~[classes/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:782) ~[spring-boot-2.6.13.jar:2.6.13] ... 8 common frames omitted Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 18 common frames omitted 2025-10-22 14:32:11 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:32:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:32:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 13744 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:32:13 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:32:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:32:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:32:13 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:32:13 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:32:13 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:32:13 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:32:13 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:32:13 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 158 ms 2025-10-22 14:32:13 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:32:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:32:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:32:13 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:32:13 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:32:13 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:32:13 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 20273f5d-da2c-44b9-b48a-a9d0608987ed This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:32:13 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@16bc7ec1, org.springframework.security.web.context.SecurityContextPersistenceFilter@531448d7, org.springframework.security.web.header.HeaderWriterFilter@305c5b38, org.springframework.security.web.authentication.logout.LogoutFilter@98e7be0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@49eb8c16, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2a7acd3e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@95fb0dc, org.springframework.security.web.access.ExceptionTranslationFilter@596752bf, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@c5905b4] 2025-10-22 14:32:13 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:32:13 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:32:13 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.37 seconds (JVM running for 12865.296) 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:32:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:32:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:32:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:32:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:32:13 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 14:32:13 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:785) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:766) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy45/jdk.proxy45.$Proxy534.countByArticleId(Unknown Source) ~[na:na] at com.qf.myafterprojecy.runner.MessageDataChecker.testQueryMethods(MessageDataChecker.java:105) ~[classes/:na] at com.qf.myafterprojecy.runner.MessageDataChecker.run(MessageDataChecker.java:47) ~[classes/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:782) ~[spring-boot-2.6.13.jar:2.6.13] ... 8 common frames omitted Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 18 common frames omitted 2025-10-22 14:32:13 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:32:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:32:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:32:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 2656 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:32:26 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:32:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:32:26 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2025-10-22 14:32:26 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2025-10-22 14:32:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:32:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 42 ms. Found 4 JPA repository interfaces. 2025-10-22 14:32:26 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:32:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:32:27 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:32:27 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:32:27 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:32:27 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 880 ms 2025-10-22 14:32:27 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:32:27 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final 2025-10-22 14:32:27 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2025-10-22 14:32:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:32:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:32:27 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:32:28 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:32:28 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:32:28 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: d9001562-6e8e-4014-b404-83406c128ea6 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:32:28 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@74b78fb8, org.springframework.security.web.context.SecurityContextPersistenceFilter@5a0723a, org.springframework.security.web.header.HeaderWriterFilter@76029b52, org.springframework.security.web.authentication.logout.LogoutFilter@70131a4f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@568a542e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3ac9c280, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7a56b4b1, org.springframework.security.web.access.ExceptionTranslationFilter@3b0113dd, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1a22f2f5] 2025-10-22 14:32:28 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:32:28 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:32:28 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 2.598 seconds (JVM running for 2.912) 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:32:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:32:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:32:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:32:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:32:28 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 14:32:28 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:785) at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:766) at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) at jdk.proxy3/jdk.proxy3.$Proxy125.countByArticleId(Unknown Source) at com.qf.myafterprojecy.runner.MessageDataChecker.testQueryMethods(MessageDataChecker.java:105) at com.qf.myafterprojecy.runner.MessageDataChecker.run(MessageDataChecker.java:47) at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:782) ... 8 common frames omitted Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) at java.base/java.util.Optional.orElseThrow(Optional.java:403) at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) at org.springframework.data.util.Lazy.get(Lazy.java:115) at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 18 common frames omitted 2025-10-22 14:32:28 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:32:28 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:32:28 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:33:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20668 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:33:25 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:33:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:33:25 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2025-10-22 14:33:25 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2025-10-22 14:33:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:33:26 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 39 ms. Found 4 JPA repository interfaces. 2025-10-22 14:33:26 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:33:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:33:26 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:33:26 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:33:26 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:33:26 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 826 ms 2025-10-22 14:33:26 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:33:26 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final 2025-10-22 14:33:26 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2025-10-22 14:33:26 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:33:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:33:27 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:33:27 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:33:27 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:33:27 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 65c0c078-a8e0-4079-884e-7eb2f752bd01 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:33:27 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@174fed7b, org.springframework.security.web.context.SecurityContextPersistenceFilter@478443d3, org.springframework.security.web.header.HeaderWriterFilter@34acebf8, org.springframework.security.web.authentication.logout.LogoutFilter@7083bb56, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@24a17b88, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3bc0884a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@72456670, org.springframework.security.web.access.ExceptionTranslationFilter@1beac428, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6a6fd683] 2025-10-22 14:33:27 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:33:28 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:33:28 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 2.538 seconds (JVM running for 2.817) 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:33:28 CST 2025] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 245 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=245 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 245 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [245] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [245] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [245] 2025-10-22 14:33:28 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [245] 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 245 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID245: 成功=true 2025-10-22 14:33:28 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:37:11 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 14:37:11 [Thread-5] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 14:37:11 [Thread-5] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:37:11 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 14:37:11 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 14:37:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20668 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 14:37:11 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 14:37:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 14:37:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 14:37:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 14:37:11 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 14:37:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 14:37:12 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 14:37:12 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 14:37:12 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 14:37:12 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 173 ms 2025-10-22 14:37:12 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 14:37:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 14:37:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 14:37:12 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 14:37:12 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 14:37:12 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 14:37:12 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 1fd27520-4bf1-4f75-af91-d0e98dab31fe This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 14:37:12 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3cab0485, org.springframework.security.web.context.SecurityContextPersistenceFilter@47d0277c, org.springframework.security.web.header.HeaderWriterFilter@418feae8, org.springframework.security.web.authentication.logout.LogoutFilter@5e90f363, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@20e82285, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@265baa46, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@43cae11, org.springframework.security.web.access.ExceptionTranslationFilter@523a91f7, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6b800b35] 2025-10-22 14:37:12 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 14:37:12 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 14:37:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.497 seconds (JVM running for 227.094) 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 14:37:12 CST 2025] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 246 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=246 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 246 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [246] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [246] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [246] 2025-10-22 14:37:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [246] 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 246 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID246: 成功=true 2025-10-22 14:37:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 14:37:12 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 14:52:29 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 14:52:29 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 14:52:29 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 14:52:29 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 1 2025-10-22 14:52:29 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 1 2025-10-22 14:52:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 14:52:29 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 2 2025-10-22 14:52:29 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 2 2025-10-22 14:52:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] 2025-10-22 14:52:29 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3 2025-10-22 14:52:29 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3 2025-10-22 14:52:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] 2025-10-22 14:52:29 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4 2025-10-22 14:52:29 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4 2025-10-22 14:52:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] 2025-10-22 14:52:29 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5 2025-10-22 14:52:29 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5 2025-10-22 14:52:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] 2025-10-22 14:52:32 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 14:52:32 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 14:52:33 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:52:33 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:52:33 [http-nio-8080-exec-8] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy5/jdk.proxy5.$Proxy140.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted 2025-10-22 14:52:48 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 14:52:48 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 14:52:48 [http-nio-8080-exec-9] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy5/jdk.proxy5.$Proxy140.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted 2025-10-22 15:00:03 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 15:00:03 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 15:00:03 [http-nio-8080-exec-1] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy5/jdk.proxy5.$Proxy140.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted 2025-10-22 15:01:40 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 3 class path changes (0 additions, 0 deletions, 3 modifications) 2025-10-22 15:01:40 [Thread-7] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 15:01:40 [Thread-7] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 15:01:40 [Thread-7] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 15:01:40 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 15:01:40 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20668 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 15:01:40 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 15:01:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 15:01:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 15:01:40 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 15:01:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 15:01:40 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 15:01:40 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 15:01:40 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 15:01:40 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 206 ms 2025-10-22 15:01:40 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 15:01:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 15:01:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 15:01:40 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 15:01:40 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 15:01:40 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 15:01:40 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: ebdf8946-e662-4d02-8a00-1dec33780749 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 15:01:40 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4fae227, org.springframework.security.web.context.SecurityContextPersistenceFilter@6cd821eb, org.springframework.security.web.header.HeaderWriterFilter@760586e4, org.springframework.security.web.authentication.logout.LogoutFilter@2d43812e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@69895ea1, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@798e9b87, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2ddd6df6, org.springframework.security.web.access.ExceptionTranslationFilter@5ce99fc8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@78b59e5f] 2025-10-22 15:01:40 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 15:01:40 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 15:01:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.483 seconds (JVM running for 1695.6) 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 15:01:40 CST 2025] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 247 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=247 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 247 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [247] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [247] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [247] 2025-10-22 15:01:40 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [247] 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 247 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID247: 成功=true 2025-10-22 15:01:40 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 15:01:40 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 15:53:47 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 15:53:47 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 15:53:47 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 15:53:47 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 15:53:47 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 15:53:47 [http-nio-8080-exec-1] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy6/jdk.proxy6.$Proxy154.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy6/jdk.proxy6.$Proxy156.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 15:53:49 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 15:53:49 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 15:53:52 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 15:53:52 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 15:53:52 [http-nio-8080-exec-3] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy6/jdk.proxy6.$Proxy154.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:186) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy6/jdk.proxy6.$Proxy156.getSingleResult(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = ?1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 114 common frames omitted 2025-10-22 16:33:56 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 16:33:56 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 16:34:01 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 16:34:01 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 16:34:11 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 16:34:11 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 16:35:05 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 16:35:05 [Thread-11] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 16:35:05 [Thread-11] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 16:35:05 [Thread-11] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:05 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 16:35:05 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 16:35:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20668 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 16:35:05 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 16:35:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 16:35:06 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 16:35:06 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 16:35:06 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 16:35:06 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 16:35:06 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 16:35:06 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 16:35:06 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 16:35:06 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 211 ms 2025-10-22 16:35:06 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 16:35:06 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 16:35:06 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 16:35:06 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 16:35:06 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 16:35:06 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:06 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 3c70549c-7110-4608-9cd6-1ad971cefc5e This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 16:35:06 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2c95c5a8, org.springframework.security.web.context.SecurityContextPersistenceFilter@3ff8f8d5, org.springframework.security.web.header.HeaderWriterFilter@393b010a, org.springframework.security.web.authentication.logout.LogoutFilter@7e8d9135, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7e2e8d18, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6d55841c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5e239131, org.springframework.security.web.access.ExceptionTranslationFilter@7f5d86bf, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1862e6f1] 2025-10-22 16:35:06 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 16:35:06 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 16:35:06 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.496 seconds (JVM running for 7301.182) 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 16:35:06 CST 2025] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 248 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=248 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 248 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [248] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [248] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [248] 2025-10-22 16:35:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [248] 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 248 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID248: 成功=true 2025-10-22 16:35:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 16:35:06 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 16:35:07 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 16:35:07 [Thread-15] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 16:35:07 [Thread-15] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:07 [Thread-15] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 16:35:07 [Thread-15] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 16:35:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20668 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 16:35:07 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 16:35:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 16:35:08 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 16:35:08 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 16:35:08 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 16:35:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 16:35:08 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 16:35:08 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 16:35:08 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 16:35:08 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 158 ms 2025-10-22 16:35:08 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 16:35:08 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 16:35:08 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 16:35:08 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 16:35:08 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 16:35:08 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:08 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 294d3439-cf39-40aa-8aa4-43cfd5fdb8cc This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 16:35:08 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6396ae9b, org.springframework.security.web.context.SecurityContextPersistenceFilter@43740c2a, org.springframework.security.web.header.HeaderWriterFilter@7239471d, org.springframework.security.web.authentication.logout.LogoutFilter@7fe8af8c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@68c214e8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@24a75f5f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@49d46991, org.springframework.security.web.access.ExceptionTranslationFilter@73d7ffd0, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@484625b7] 2025-10-22 16:35:08 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 16:35:08 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 16:35:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.442 seconds (JVM running for 7303.089) 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 16:35:08 CST 2025] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 249 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=249 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 249 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [249] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [249] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [249] 2025-10-22 16:35:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [249] 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 249 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID249: 成功=true 2025-10-22 16:35:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 16:35:08 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 16:35:10 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 16:35:10 [Thread-19] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 16:35:10 [Thread-19] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:10 [Thread-19] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 16:35:10 [Thread-19] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 16:35:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20668 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 16:35:10 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 16:35:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 16:35:10 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 16:35:10 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 4 JPA repository interfaces. 2025-10-22 16:35:11 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 16:35:11 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 16:35:11 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 16:35:11 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 16:35:11 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 16:35:11 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 214 ms 2025-10-22 16:35:11 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 16:35:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 16:35:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 16:35:11 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 16:35:11 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 16:35:11 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:11 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 1fd54f39-a6e7-4ccd-9107-eac895802b4b This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 16:35:11 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4d5963b0, org.springframework.security.web.context.SecurityContextPersistenceFilter@45e23030, org.springframework.security.web.header.HeaderWriterFilter@50ffa079, org.springframework.security.web.authentication.logout.LogoutFilter@39747bbb, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@469e1054, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@40923990, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1aea2086, org.springframework.security.web.access.ExceptionTranslationFilter@1853cb3c, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@347d7016] 2025-10-22 16:35:11 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 16:35:11 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 16:35:11 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.453 seconds (JVM running for 7306.035) 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 16:35:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 16:35:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 16:35:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 16:35:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 16:35:11 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-22 16:35:11 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:785) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:766) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy9/jdk.proxy9.$Proxy184.countByArticleId(Unknown Source) ~[na:na] at com.qf.myafterprojecy.runner.MessageDataChecker.testQueryMethods(MessageDataChecker.java:105) ~[classes/:na] at com.qf.myafterprojecy.runner.MessageDataChecker.run(MessageDataChecker.java:47) ~[classes/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:782) ~[spring-boot-2.6.13.jar:2.6.13] ... 8 common frames omitted Caused by: java.lang.IllegalStateException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.lambda$getName$2(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.getName(QueryParameterSetterFactory.java:259) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.findParameterForBinding(QueryParameterSetterFactory.java:245) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.QueryParameterSetterFactory$BasicQueryParameterSetterFactory.create(QueryParameterSetterFactory.java:216) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryParameterSetter(ParameterBinderFactory.java:140) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createSetters(ParameterBinderFactory.java:129) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.ParameterBinderFactory.createQueryAwareBinder(ParameterBinderFactory.java:100) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.createBinder(AbstractStringBasedJpaQuery.java:105) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.util.Lazy.get(Lazy.java:115) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:95) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:227) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 18 common frames omitted 2025-10-22 16:35:11 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:35:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 16:35:11 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 16:48:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 16:48:55 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 16:48:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 16:48:55 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2025-10-22 16:48:55 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2025-10-22 16:48:55 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 16:48:55 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 47 ms. Found 4 JPA repository interfaces. 2025-10-22 16:48:55 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 16:48:55 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 16:48:56 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 16:48:56 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 16:48:56 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 16:48:56 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 855 ms 2025-10-22 16:48:56 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 16:48:56 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final 2025-10-22 16:48:56 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2025-10-22 16:48:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 16:48:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 16:48:56 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 16:48:56 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 16:48:56 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 16:48:57 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: ded3a573-b5ad-4805-8632-b18c6f2c93ed This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 16:48:57 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@27942dd0, org.springframework.security.web.context.SecurityContextPersistenceFilter@4635534c, org.springframework.security.web.header.HeaderWriterFilter@36c02de, org.springframework.security.web.authentication.logout.LogoutFilter@1904be60, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@17f20930, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@568a542e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@74b78fb8, org.springframework.security.web.access.ExceptionTranslationFilter@2ac90397, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6ddddca5] 2025-10-22 16:48:57 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 16:48:57 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 16:48:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 2.442 seconds (JVM running for 2.707) 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 16:48:57 CST 2025] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 250 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=250 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 250 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [250] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [250] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [250] 2025-10-22 16:48:57 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [250] 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 250 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID250: 成功=true 2025-10-22 16:48:57 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 16:49:05 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 16:49:05 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 16:49:05 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms 2025-10-22 16:49:05 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取文章评论数量的请求: 1 2025-10-22 16:49:05 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 16:49:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:08:51 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 17:08:51 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:08:53 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 17:08:53 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 17:08:53 [http-nio-8080-exec-5] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = :messageId]; nested exception is java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = :messageId] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) at jdk.proxy3/jdk.proxy3.$Proxy125.incrementLikes(Unknown Source) at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:187) at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:1447) Caused by: java.lang.IllegalStateException: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = :messageId] at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1620) at org.hibernate.query.internal.AbstractProducedQuery.getSingleResult(AbstractProducedQuery.java:1665) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) at jdk.proxy3/jdk.proxy3.$Proxy132.getSingleResult(Unknown Source) at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:198) at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 93 common frames omitted Caused by: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [UPDATE com.qf.myafterprojecy.pojo.Message m SET m.likes = m.likes + 1 WHERE m.messageid = :messageId] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:319) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1459) at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) ... 114 common frames omitted 2025-10-22 17:11:33 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:11:33 [Thread-5] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:11:33 [Thread-5] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 17:11:33 [Thread-5] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:11:33 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:11:33 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:11:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:11:33 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:11:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:11:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:11:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 17:11:33 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:11:33 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:11:33 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:11:33 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:11:33 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:11:33 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 212 ms 2025-10-22 17:11:33 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:11:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:11:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:11:33 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:11:33 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:11:33 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:11:33 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 2032482b-0374-494b-bcce-7253baed8e76 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:11:33 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@51cec1ab, org.springframework.security.web.context.SecurityContextPersistenceFilter@1583da98, org.springframework.security.web.header.HeaderWriterFilter@684fab27, org.springframework.security.web.authentication.logout.LogoutFilter@267fa4d8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5546b0e6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@580137e3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@14f36909, org.springframework.security.web.access.ExceptionTranslationFilter@257517ea, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@21521c77] 2025-10-22 17:11:34 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:11:34 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:11:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.511 seconds (JVM running for 1359.381) 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:11:34 CST 2025] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 251 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=251 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 251 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [251] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [251] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [251] 2025-10-22 17:11:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [251] 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 251 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID251: 成功=true 2025-10-22 17:11:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:11:34 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:11:35 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 3 class path changes (0 additions, 0 deletions, 3 modifications) 2025-10-22 17:11:35 [Thread-7] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:11:35 [Thread-7] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:11:35 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:11:35 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:11:35 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:11:35 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:11:35 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:11:35 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:11:35 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:11:35 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:11:35 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:11:35 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:11:35 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 162 ms 2025-10-22 17:11:35 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:11:35 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:11:35 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:11:35 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:11:35 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:11:35 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:11:35 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 8b61f56d-25ba-47f2-a0c8-2c9720eee1e9 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:11:35 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4b662026, org.springframework.security.web.context.SecurityContextPersistenceFilter@51467feb, org.springframework.security.web.header.HeaderWriterFilter@1823eca2, org.springframework.security.web.authentication.logout.LogoutFilter@11d47513, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@445e222d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@74ce5169, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@957393, org.springframework.security.web.access.ExceptionTranslationFilter@77f8eb04, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1c0d0deb] 2025-10-22 17:11:35 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:11:35 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:11:35 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.41 seconds (JVM running for 1361.252) 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:11:35 CST 2025] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 252 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=252 2025-10-22 17:11:35 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 252 2025-10-22 17:11:35 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [252] 2025-10-22 17:11:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [252] 2025-10-22 17:11:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [252] 2025-10-22 17:11:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [252] 2025-10-22 17:11:36 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 252 2025-10-22 17:11:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID252: 成功=true 2025-10-22 17:11:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:11:36 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:05 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:05 [Thread-11] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:05 [Thread-11] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:05 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:05 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:05 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:05 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:05 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:05 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:05 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:05 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:05 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 170 ms 2025-10-22 17:12:05 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:05 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:05 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:05 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:05 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:05 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:06 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 9a36b164-ab95-48e1-868e-6c2ab77f7f02 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:06 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@8337005, org.springframework.security.web.context.SecurityContextPersistenceFilter@5f4835b9, org.springframework.security.web.header.HeaderWriterFilter@2d4fe99c, org.springframework.security.web.authentication.logout.LogoutFilter@533d363b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@f46c5f3, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1f173eb0, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e51d463, org.springframework.security.web.access.ExceptionTranslationFilter@7d1dbb90, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@a1bd32c] 2025-10-22 17:12:06 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:06 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:06 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.407 seconds (JVM running for 1391.406) 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:06 CST 2025] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 253 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=253 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 253 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [253] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [253] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [253] 2025-10-22 17:12:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [253] 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 253 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID253: 成功=true 2025-10-22 17:12:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:06 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:12 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:12 [Thread-15] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:12 [Thread-15] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:12 [Thread-15] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:12 [Thread-15] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:13 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:13 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:13 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:13 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:13 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:13 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:13 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 157 ms 2025-10-22 17:12:13 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:13 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:13 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:13 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:13 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 3ca3376f-bcd7-4287-b0bf-e3df2096f0d6 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:13 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@300fda06, org.springframework.security.web.context.SecurityContextPersistenceFilter@75d95665, org.springframework.security.web.header.HeaderWriterFilter@77e591d0, org.springframework.security.web.authentication.logout.LogoutFilter@1affd09a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@434334f0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7e9ab526, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@129d11c0, org.springframework.security.web.access.ExceptionTranslationFilter@4a4ee543, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7c1e938f] 2025-10-22 17:12:13 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:13 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:13 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.374 seconds (JVM running for 1398.709) 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:13 CST 2025] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 254 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=254 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 254 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [254] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [254] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [254] 2025-10-22 17:12:13 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [254] 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 254 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID254: 成功=true 2025-10-22 17:12:13 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:13 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:17 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:17 [Thread-19] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:17 [Thread-19] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:17 [Thread-19] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:17 [Thread-19] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:17 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:18 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:18 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:18 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:18 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:18 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:18 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:18 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 160 ms 2025-10-22 17:12:18 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:18 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:18 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:18 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:18 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 92c61082-d340-46f1-b40a-34c9cf602edf This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:18 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1fbbdc50, org.springframework.security.web.context.SecurityContextPersistenceFilter@68f0158b, org.springframework.security.web.header.HeaderWriterFilter@36d947c0, org.springframework.security.web.authentication.logout.LogoutFilter@7c1a7992, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7f1908c3, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6835d750, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4d1701bc, org.springframework.security.web.access.ExceptionTranslationFilter@ea3230b, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@45ddc110] 2025-10-22 17:12:18 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:18 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:18 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.383 seconds (JVM running for 1403.582) 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:18 CST 2025] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 255 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=255 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 255 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [255] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [255] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [255] 2025-10-22 17:12:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [255] 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 255 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID255: 成功=true 2025-10-22 17:12:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:18 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:19 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:19 [Thread-23] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:19 [Thread-23] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:19 [Thread-23] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:19 [Thread-23] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:19 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:19 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:19 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:19 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:19 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:19 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:19 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 155 ms 2025-10-22 17:12:19 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:19 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:19 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:19 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:20 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: feb85d4e-521d-4625-b1a5-f0b537a3de42 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:20 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@65fe1748, org.springframework.security.web.context.SecurityContextPersistenceFilter@1db3a43, org.springframework.security.web.header.HeaderWriterFilter@7c6dbad9, org.springframework.security.web.authentication.logout.LogoutFilter@78b7b82c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5ce72d3e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@314c58d3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6f3c033, org.springframework.security.web.access.ExceptionTranslationFilter@4ec47049, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1f7ec242] 2025-10-22 17:12:20 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:20 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:20 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.392 seconds (JVM running for 1405.429) 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:20 CST 2025] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 256 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=256 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 256 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [256] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [256] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [256] 2025-10-22 17:12:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [256] 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 256 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID256: 成功=true 2025-10-22 17:12:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:20 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:22 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:22 [Thread-27] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:22 [Thread-27] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:22 [Thread-27] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:22 [Thread-27] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:22 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:22 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:22 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:22 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:22 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:22 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:22 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:22 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:22 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 160 ms 2025-10-22 17:12:22 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:22 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:22 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:22 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:22 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:22 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:22 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: bcd1e493-16db-43d8-9b37-aece043104ac This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:22 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5e895ab2, org.springframework.security.web.context.SecurityContextPersistenceFilter@2d08e121, org.springframework.security.web.header.HeaderWriterFilter@42faed46, org.springframework.security.web.authentication.logout.LogoutFilter@56d0d0c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@767f378c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7a83baff, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@27162166, org.springframework.security.web.access.ExceptionTranslationFilter@7cae0bcf, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@58e5f29d] 2025-10-22 17:12:22 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:22 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:22 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.379 seconds (JVM running for 1408.285) 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:22 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:22 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:23 CST 2025] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 257 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=257 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 257 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [257] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [257] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [257] 2025-10-22 17:12:23 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [257] 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 257 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID257: 成功=true 2025-10-22 17:12:23 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:23 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:24 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:24 [Thread-31] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:24 [Thread-31] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:24 [Thread-31] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:24 [Thread-31] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:24 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:24 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:24 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:24 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:24 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:24 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:24 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:24 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:24 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 151 ms 2025-10-22 17:12:24 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:24 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:24 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:24 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:24 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: eb9aaddb-fe7f-48c5-b587-8813119fc455 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:24 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@209075ec, org.springframework.security.web.context.SecurityContextPersistenceFilter@3058bde8, org.springframework.security.web.header.HeaderWriterFilter@4d18f23d, org.springframework.security.web.authentication.logout.LogoutFilter@beab55c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@27d24a0f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@742b6d3e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@37d44e76, org.springframework.security.web.access.ExceptionTranslationFilter@57609942, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@763be2c3] 2025-10-22 17:12:24 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:24 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:24 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.379 seconds (JVM running for 1410.132) 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:24 CST 2025] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 258 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=258 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 258 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [258] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [258] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [258] 2025-10-22 17:12:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [258] 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 258 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID258: 成功=true 2025-10-22 17:12:24 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:24 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:12:50 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:12:50 [Thread-35] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:12:50 [Thread-35] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:50 [Thread-35] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:12:50 [Thread-35] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:12:50 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:12:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:12:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:12:50 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:12:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:12:50 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:12:50 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:12:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:12:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 154 ms 2025-10-22 17:12:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:12:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:12:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:12:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:12:50 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:12:50 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:12:50 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: eb78eff7-b4ce-49f4-a44e-d7a98197e792 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:12:50 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6d9a70b2, org.springframework.security.web.context.SecurityContextPersistenceFilter@578ba41b, org.springframework.security.web.header.HeaderWriterFilter@5a6801d5, org.springframework.security.web.authentication.logout.LogoutFilter@1a8af6ed, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@44f5a3a7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@a57fda9, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@f432993, org.springframework.security.web.access.ExceptionTranslationFilter@1b9faba, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@428ac1e5] 2025-10-22 17:12:50 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:12:50 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:12:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.362 seconds (JVM running for 1436.214) 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:12:50 CST 2025] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 259 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=259 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 259 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [259] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [259] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [259] 2025-10-22 17:12:50 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [259] 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 259 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID259: 成功=true 2025-10-22 17:12:50 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:12:50 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:13:01 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:13:01 [Thread-39] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:13:01 [Thread-39] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:13:01 [Thread-39] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:13:01 [Thread-39] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:13:01 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:13:01 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:13:01 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:13:01 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:13:01 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:13:01 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:13:01 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:13:01 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:13:01 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 162 ms 2025-10-22 17:13:01 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:13:01 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:13:01 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:13:01 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:13:01 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:13:01 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:13:01 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 64a10477-457c-4c92-b678-3c0dcbac9ba1 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:13:01 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3c74a159, org.springframework.security.web.context.SecurityContextPersistenceFilter@4b1b90e, org.springframework.security.web.header.HeaderWriterFilter@6b58c2c1, org.springframework.security.web.authentication.logout.LogoutFilter@147a64f8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1031adfb, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@30e94588, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7bd7c610, org.springframework.security.web.access.ExceptionTranslationFilter@79ab2a67, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7fe17dc9] 2025-10-22 17:13:01 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:13:01 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:13:01 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.407 seconds (JVM running for 1447.176) 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:13:01 CST 2025] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 260 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=260 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 260 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [260] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [260] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [260] 2025-10-22 17:13:01 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [260] 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 260 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID260: 成功=true 2025-10-22 17:13:01 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:13:01 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:13:08 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:13:08 [Thread-43] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:13:08 [Thread-43] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:13:08 [Thread-43] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:13:08 [Thread-43] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:13:08 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:13:08 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:13:08 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 4 JPA repository interfaces. 2025-10-22 17:13:08 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:13:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:13:08 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:13:08 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:13:08 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:13:08 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 172 ms 2025-10-22 17:13:08 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:13:08 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:13:08 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:13:08 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:13:08 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:13:08 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:13:08 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 3fd63215-c4d8-45ea-bf5e-7dbd2f6b298b This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:13:08 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@68220527, org.springframework.security.web.context.SecurityContextPersistenceFilter@221c561e, org.springframework.security.web.header.HeaderWriterFilter@794af326, org.springframework.security.web.authentication.logout.LogoutFilter@340a056e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@501d10da, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5a9b1aec, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5d0fcf8a, org.springframework.security.web.access.ExceptionTranslationFilter@642dc439, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2e0a1ee3] 2025-10-22 17:13:08 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:13:08 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:13:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.399 seconds (JVM running for 1454.089) 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:13:08 CST 2025] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 261 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=261 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 261 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [261] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [261] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [261] 2025-10-22 17:13:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [261] 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 261 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID261: 成功=true 2025-10-22 17:13:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:13:08 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:13:12 [http-nio-8080-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 17:13:12 [http-nio-8080-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 17:13:12 [http-nio-8080-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-10-22 17:13:12 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 17:13:12 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:13:14 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 17:13:14 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 17:13:14 [http-nio-8080-exec-1] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:403) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy15/jdk.proxy15.$Proxy242.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:187) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: javax.persistence.TransactionRequiredException: Executing an update/delete query at org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:445) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1692) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy15/jdk.proxy15.$Proxy244.executeUpdate(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$ModifyingExecution.doExecute(JpaQueryExecution.java:241) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted 2025-10-22 17:14:34 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:14:34 [Thread-47] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:14:34 [Thread-47] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' 2025-10-22 17:14:34 [Thread-47] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:14:34 [Thread-47] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:14:34 [Thread-47] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:14:34 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:14:34 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:14:34 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:14:34 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:14:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:14:34 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:14:34 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:14:34 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:14:34 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 157 ms 2025-10-22 17:14:34 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:14:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:14:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:14:34 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:14:34 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:14:34 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:14:34 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 8c076cfa-e5be-4b27-827e-7ee1b9a98e10 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:14:34 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6b944bb2, org.springframework.security.web.context.SecurityContextPersistenceFilter@4bbd14d3, org.springframework.security.web.header.HeaderWriterFilter@783d90b, org.springframework.security.web.authentication.logout.LogoutFilter@27925673, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@54b3ec09, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1df8088c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5f37bbd, org.springframework.security.web.access.ExceptionTranslationFilter@4521947f, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@568a271a] 2025-10-22 17:14:34 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:14:34 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:14:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.378 seconds (JVM running for 1539.732) 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:14:34 CST 2025] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 262 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=262 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 262 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [262] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [262] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [262] 2025-10-22 17:14:34 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [262] 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 262 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID262: 成功=true 2025-10-22 17:14:34 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:14:34 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:14:35 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:14:35 [Thread-51] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:14:35 [Thread-51] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:14:35 [Thread-51] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:14:35 [Thread-51] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:14:35 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:14:35 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:14:35 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:14:35 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:14:35 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:14:36 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:14:36 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:14:36 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:14:36 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:14:36 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:14:36 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 151 ms 2025-10-22 17:14:36 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:14:36 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:14:36 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:14:36 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:14:36 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:14:36 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:14:36 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: f74a0bbd-08b3-4e36-9b86-55e4bb70bf1f This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:14:36 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4d08ef1e, org.springframework.security.web.context.SecurityContextPersistenceFilter@51814b22, org.springframework.security.web.header.HeaderWriterFilter@6fa09c13, org.springframework.security.web.authentication.logout.LogoutFilter@57643b6f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@370bc0f7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@67cce174, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@45618bca, org.springframework.security.web.access.ExceptionTranslationFilter@79953042, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@79156c15] 2025-10-22 17:14:36 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:14:36 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:14:36 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.358 seconds (JVM running for 1541.549) 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:14:36 CST 2025] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 263 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=263 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 263 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [263] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [263] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [263] 2025-10-22 17:14:36 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [263] 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 263 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID263: 成功=true 2025-10-22 17:14:36 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:14:36 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:14:59 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:14:59 [Thread-55] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:14:59 [Thread-55] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:14:59 [Thread-55] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:14:59 [Thread-55] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:14:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:14:59 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:14:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:15:00 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:15:00 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 4 JPA repository interfaces. 2025-10-22 17:15:00 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:15:00 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:15:00 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:15:00 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:15:00 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:15:00 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 176 ms 2025-10-22 17:15:00 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:15:00 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:15:00 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:15:00 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:15:00 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:15:00 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:00 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 21be80f2-e463-4cb6-ac3a-f205582c4ea0 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:15:00 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@686722da, org.springframework.security.web.context.SecurityContextPersistenceFilter@54621586, org.springframework.security.web.header.HeaderWriterFilter@23ed379a, org.springframework.security.web.authentication.logout.LogoutFilter@2fd2f452, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@39b9aae8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@21c3b0df, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@a4d751, org.springframework.security.web.access.ExceptionTranslationFilter@70dd07ff, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@749eec46] 2025-10-22 17:15:00 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:15:00 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:15:00 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.4 seconds (JVM running for 1565.664) 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:15:00 CST 2025] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 264 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=264 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 264 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [264] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [264] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [264] 2025-10-22 17:15:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [264] 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 264 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID264: 成功=true 2025-10-22 17:15:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:15:00 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:15:05 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:15:05 [Thread-59] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:15:05 [Thread-59] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:05 [Thread-59] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:15:05 [Thread-59] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:15:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:15:05 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:15:05 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:15:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:15:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 17:15:05 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:15:06 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:15:06 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:15:06 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:15:06 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:15:06 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 162 ms 2025-10-22 17:15:06 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:15:06 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:15:06 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:15:06 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:15:06 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:15:06 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:06 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: e7129e29-a62a-4730-8e50-6e2ba9f394aa This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:15:06 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@55321506, org.springframework.security.web.context.SecurityContextPersistenceFilter@17df398e, org.springframework.security.web.header.HeaderWriterFilter@1027478f, org.springframework.security.web.authentication.logout.LogoutFilter@1e3fe3, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@619c86ff, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@445254c2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@14b31d23, org.springframework.security.web.access.ExceptionTranslationFilter@36027d2b, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@57539e7f] 2025-10-22 17:15:06 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:15:06 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:15:06 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.385 seconds (JVM running for 1571.543) 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:15:06 CST 2025] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 265 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=265 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 265 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [265] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [265] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [265] 2025-10-22 17:15:06 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [265] 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 265 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID265: 成功=true 2025-10-22 17:15:06 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:15:06 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:15:07 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:15:07 [Thread-63] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:15:07 [Thread-63] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:07 [Thread-63] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:15:07 [Thread-63] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:15:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:15:07 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:15:07 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:15:07 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:15:07 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 17:15:07 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:15:07 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:15:07 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:15:07 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:15:07 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:15:07 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 155 ms 2025-10-22 17:15:07 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:15:07 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:15:07 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:15:07 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:15:07 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:15:07 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:08 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: f54d2377-9934-42ed-a888-d2a583e369a0 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:15:08 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5e407632, org.springframework.security.web.context.SecurityContextPersistenceFilter@3c13f6ee, org.springframework.security.web.header.HeaderWriterFilter@64f4d1c0, org.springframework.security.web.authentication.logout.LogoutFilter@5299939c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4c36fb7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@33a612a2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5685b85a, org.springframework.security.web.access.ExceptionTranslationFilter@4a2fafb2, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5477d99b] 2025-10-22 17:15:08 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:15:08 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:15:08 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.367 seconds (JVM running for 1573.372) 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:15:08 CST 2025] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 266 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=266 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 266 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [266] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [266] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [266] 2025-10-22 17:15:08 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [266] 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 266 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID266: 成功=true 2025-10-22 17:15:08 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:15:08 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:15:10 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:15:10 [Thread-67] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:15:10 [Thread-67] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:10 [Thread-67] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:15:10 [Thread-67] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:15:10 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:15:10 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:15:10 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 4 JPA repository interfaces. 2025-10-22 17:15:10 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:15:10 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:15:10 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:15:10 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:15:10 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:15:10 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 166 ms 2025-10-22 17:15:10 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:15:10 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:15:10 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:15:10 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:15:10 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:15:10 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:10 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 00d55160-e146-4b22-80f7-20a02c838aa9 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:15:10 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@d122bdd, org.springframework.security.web.context.SecurityContextPersistenceFilter@72282ed1, org.springframework.security.web.header.HeaderWriterFilter@5e04b8a7, org.springframework.security.web.authentication.logout.LogoutFilter@763e3a51, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3dc63206, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3ee99c66, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@63a80702, org.springframework.security.web.access.ExceptionTranslationFilter@30466d5d, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@542ba13a] 2025-10-22 17:15:10 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:15:10 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:15:10 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.377 seconds (JVM running for 1576.218) 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:15:10 CST 2025] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 267 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=267 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 267 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [267] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [267] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [267] 2025-10-22 17:15:10 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [267] 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 267 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID267: 成功=true 2025-10-22 17:15:10 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:15:10 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:15:12 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:15:12 [Thread-71] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:15:12 [Thread-71] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:12 [Thread-71] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:15:12 [Thread-71] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:15:12 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:15:12 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:15:12 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. 2025-10-22 17:15:12 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:15:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:15:12 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:15:12 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:15:12 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:15:12 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 148 ms 2025-10-22 17:15:12 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:15:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:15:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:15:12 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:15:12 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:15:12 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:12 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 2d4e9dc9-b692-4a8b-b95c-d9a880b3796e This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:15:12 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5e5e70ea, org.springframework.security.web.context.SecurityContextPersistenceFilter@2b7a73ee, org.springframework.security.web.header.HeaderWriterFilter@6152114e, org.springframework.security.web.authentication.logout.LogoutFilter@b8c187d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4278867e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2b8498a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3d897fbe, org.springframework.security.web.access.ExceptionTranslationFilter@1dbbb76c, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5abb9ebd] 2025-10-22 17:15:12 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:15:12 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:15:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.372 seconds (JVM running for 1578.054) 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:15:12 CST 2025] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 268 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=268 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 268 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [268] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [268] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [268] 2025-10-22 17:15:12 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [268] 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 268 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID268: 成功=true 2025-10-22 17:15:12 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:15:12 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:15:57 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) 2025-10-22 17:15:57 [Thread-75] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 2025-10-22 17:15:57 [Thread-75] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:57 [Thread-75] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... 2025-10-22 17:15:57 [Thread-75] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. 2025-10-22 17:15:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 28148 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) 2025-10-22 17:15:57 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 2025-10-22 17:15:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" 2025-10-22 17:15:57 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-10-22 17:15:57 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15 ms. Found 4 JPA repository interfaces. 2025-10-22 17:15:57 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. 2025-10-22 17:15:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-10-22 17:15:57 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] 2025-10-22 17:15:57 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-10-22 17:15:57 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-10-22 17:15:57 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 184 ms 2025-10-22 17:15:57 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-10-22 17:15:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... 2025-10-22 17:15:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. 2025-10-22 17:15:57 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-10-22 17:15:57 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-10-22 17:15:57 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-10-22 17:15:58 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - Using generated security password: 73bc6dbb-a4a5-4ee2-ab10-43244d513c81 This generated password is for development use only. Your security configuration must be updated before running your application in production. 2025-10-22 17:15:58 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24dd9a48, org.springframework.security.web.context.SecurityContextPersistenceFilter@7365bab6, org.springframework.security.web.header.HeaderWriterFilter@758cfb1c, org.springframework.security.web.authentication.logout.LogoutFilter@319bea7, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@29943b90, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4fb14954, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@50bf9e7c, org.springframework.security.web.access.ExceptionTranslationFilter@6f613452, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@652a8537] 2025-10-22 17:15:58 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] 2025-10-22 17:15:58 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 2025-10-22 17:15:58 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.424 seconds (JVM running for 1623.384) 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 3 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 3 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为204的回复数量: 1 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 204 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [204] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID204获取消息: 成功=true, 昵称=1 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=3 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Wed Oct 22 17:15:58 CST 2025] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [INTEGER] - [null] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [VARCHAR] - [测试用户] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [7] as [INTEGER] - [null] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [8] as [INTEGER] - [null] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 269 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=269 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 269 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [269] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [269] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [269] 2025-10-22 17:15:58 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [269] 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 269 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID269: 成功=true 2025-10-22 17:15:58 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== 2025-10-22 17:15:58 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged 2025-10-22 17:17:03 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-10-22 17:17:03 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 2025-10-22 17:17:03 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms 2025-10-22 17:17:03 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 233 2025-10-22 17:17:03 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 点赞消息: 233 2025-10-22 17:17:03 [http-nio-8080-exec-1] ERROR c.q.m.service.MessageService - 点赞消息失败: 233 org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:403) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] at jdk.proxy23/jdk.proxy23.$Proxy322.incrementLikes(Unknown Source) ~[na:na] at com.qf.myafterprojecy.service.MessageService.likeMessage(MessageService.java:187) ~[classes/:na] at com.qf.myafterprojecy.controller.MessageController.likeMessage(MessageController.java:97) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.68.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.6.8.jar:5.6.8] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.68.jar:9.0.68] at java.base/java.lang.Thread.run(Thread.java:1447) ~[na:na] Caused by: javax.persistence.TransactionRequiredException: Executing an update/delete query at org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:445) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1692) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:406) ~[spring-orm-5.3.23.jar:5.3.23] at jdk.proxy23/jdk.proxy23.$Proxy324.executeUpdate(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.JpaQueryExecution$ModifyingExecution.doExecute(JpaQueryExecution.java:241) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] ... 93 common frames omitted 2025-10-22 17:17:24 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 17:17:24 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 2025-10-22 18:13:15 [WebProjectHikariCP housekeeper] WARN com.zaxxer.hikari.pool.HikariPool - WebProjectHikariCP - Thread starvation or clock leap detected (housekeeper delta=1m44s719ms856µs400ns). 2025-10-22 18:59:04 [WebProjectHikariCP housekeeper] WARN com.zaxxer.hikari.pool.HikariPool - WebProjectHikariCP - Thread starvation or clock leap detected (housekeeper delta=16m18s973ms591µs900ns). 2025-10-22 19:40:01 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 2025-10-22 19:40:01 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息