From f53e251d46eb00c06bd7f38824ad647e33f04ded Mon Sep 17 00:00:00 2001 From: qingfeng1121 Date: Wed, 22 Oct 2025 13:28:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B6=88=E6=81=AF):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=9B=9E=E5=A4=8DID=E5=AD=97=E6=AE=B5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=9B=9E=E5=A4=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在Message和MessageDto中添加replyid字段,支持消息回复功能 添加删除所有评论的API端点 重构消息控制器方法顺序 ``` ```msg feat(文章): 实现文章浏览量增加功能 添加incrementViewCount方法用于增加文章浏览量 在文章实体中添加likes字段记录点赞数 更新API文档说明新增字段 ``` ```msg chore: 移除数据初始化类 注释掉CategoryDataInit和MessageDataInit类 这些初始化功能将由其他方式实现 --- README_API.md | 1 + logs/web_project.log | 3942 ++++++++++++----- logs/web_project.log.2025-10-20.0.gz | Bin 0 -> 37048 bytes .../controller/ArticleController.java | 14 +- .../controller/MessageController.java | 45 +- .../myafterprojecy/init/CategoryDataInit.java | 140 +- .../myafterprojecy/init/MessageDataInit.java | 162 +- .../com/qf/myafterprojecy/pojo/Article.java | 12 + .../com/qf/myafterprojecy/pojo/Message.java | 32 +- .../myafterprojecy/pojo/dto/MessageDto.java | 8 + .../repository/ArticleRepository.java | 1 + .../service/ArticleService.java | 23 +- .../service/IArticleService.java | 6 + .../service/IMessageService.java | 3 +- .../service/MessageService.java | 13 +- 15 files changed, 3227 insertions(+), 1175 deletions(-) create mode 100644 logs/web_project.log.2025-10-20.0.gz diff --git a/README_API.md b/README_API.md index 8fa89a3..f1e9355 100644 --- a/README_API.md +++ b/README_API.md @@ -318,6 +318,7 @@ GET /api/messages "content": "留言内容", "createdAt": "2023-01-01T10:00:00", "parentid": null, // 父留言ID,null表示主留言 + "replyid": null, // 回复留言ID,null表示无回复 "articleid": null // 关联的文章ID,null表示无关联 }, // 更多留言... diff --git a/logs/web_project.log b/logs/web_project.log index 3d2789b..2766a46 100644 --- a/logs/web_project.log +++ b/logs/web_project.log @@ -1,1011 +1,2965 @@ -2025-10-20 11:03:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 20220 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-20 11:03:59 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-20 11:03:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-20 11:03:59 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-10-20 11:03:59 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-10-20 11:03:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-20 11:03:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46 ms. Found 4 JPA repository interfaces. -2025-10-20 11:03:59 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-20 11:04:00 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-20 11:04:00 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-20 11:04:00 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-20 11:04:00 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-20 11:04:00 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1002 ms -2025-10-20 11:04:00 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-20 11:04:00 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-20 11:04:00 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-20 11:04:00 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:04:01 [restartedMain] ERROR com.zaxxer.hikari.pool.HikariPool - WebProjectHikariCP - Exception during pool initialization. -java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) - at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:448) - at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) - at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:181) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) - at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:175) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:173) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - 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: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed - at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) - at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) - at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:447) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:212) - at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1433) - at com.mysql.cj.NativeSession.connect(NativeSession.java:133) - at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) - ... 52 common frames omitted -2025-10-20 11:04:01 [restartedMain] WARN o.h.e.j.e.i.JdbcEnvironmentInitiator - HHH000342: Could not obtain connection to query metadata -java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) - at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:448) - at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) - at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:181) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) - at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) - at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:175) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) - at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) - at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:173) - at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - 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: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed - at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) - at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) - at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:447) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:212) - at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1433) - at com.mysql.cj.NativeSession.connect(NativeSession.java:133) - at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) - ... 52 common frames omitted -2025-10-20 11:04:01 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-20 11:04:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:04:03 [restartedMain] ERROR com.zaxxer.hikari.pool.HikariPool - WebProjectHikariCP - Exception during pool initialization. -java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) - at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:448) - at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) - at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:181) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:44) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcDatabaseMetaData(ImprovedExtractionContextImpl.java:70) - at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.processTableResultSet(InformationExtractorJdbcDatabaseMetaDataImpl.java:64) - at org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl.getTables(AbstractInformationExtractorImpl.java:559) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTablesInformation(DatabaseInformationImpl.java:122) - at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:68) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:220) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:123) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:196) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:85) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:335) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - 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: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed - at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) - at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) - at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:447) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:212) - at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1433) - at com.mysql.cj.NativeSession.connect(NativeSession.java:133) - at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) - ... 52 common frames omitted -2025-10-20 11:04:03 [restartedMain] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 08001 -2025-10-20 11:04:03 [restartedMain] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Public Key Retrieval is not allowed -2025-10-20 11:04:03 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution -2025-10-20 11:04:03 [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.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution -2025-10-20 11:04:03 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-20 11:04:03 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - +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-20 11:04:03 [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.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) - at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) - at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) - 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: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) - ... 19 common frames omitted -Caused by: org.hibernate.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution - at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:48) - at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) - at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) - at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:71) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) - at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcDatabaseMetaData(ImprovedExtractionContextImpl.java:70) - at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.processTableResultSet(InformationExtractorJdbcDatabaseMetaDataImpl.java:64) - at org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl.getTables(AbstractInformationExtractorImpl.java:559) - at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.getTablesInformation(DatabaseInformationImpl.java:122) - at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:68) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:220) - at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:123) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:196) - at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:85) - at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:335) - at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) - at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) - at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) - at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) - ... 23 common frames omitted -Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) - at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:448) - at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) - at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) - at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) - at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) - at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) - at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) - at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) - at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) - at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) - at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) - at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:181) - at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:44) - ... 39 common frames omitted -Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed - at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) - at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) - at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) - at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130) - at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:447) - at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:212) - at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1433) - at com.mysql.cj.NativeSession.connect(NativeSession.java:133) - at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948) - at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) - ... 52 common frames omitted -2025-10-20 11:04:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 19580 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-20 11:04:53 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-20 11:04:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-20 11:04:53 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-10-20 11:04:53 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-10-20 11:04:53 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-20 11:04:53 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 39 ms. Found 4 JPA repository interfaces. -2025-10-20 11:04:53 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-20 11:04:53 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-20 11:04:53 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-20 11:04:53 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-20 11:04:54 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-20 11:04:54 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 842 ms -2025-10-20 11:04:54 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-20 11:04:54 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-20 11:04:54 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-20 11:04:54 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:04:54 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-20 11:04:54 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-20 11:04:54 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-20 11:04:54 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:04:55 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +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 -Using generated security password: 56b700ca-d7a4-4715-8c48-65691834ef51 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-20 11:04:55 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@432358c3, org.springframework.security.web.context.SecurityContextPersistenceFilter@94f5210, org.springframework.security.web.header.HeaderWriterFilter@12dfde64, org.springframework.security.web.authentication.logout.LogoutFilter@252a307b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@22595514, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@61638c14, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@652e9e3, org.springframework.security.web.access.ExceptionTranslationFilter@52e0b0f8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4c95393f] -2025-10-20 11:04:55 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-20 11:04:55 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-20 11:04:55 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 2.553 seconds (JVM running for 2.835) -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 6 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 6 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 0 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 0 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=6 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=0 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Mon Oct 20 11:04:55 CST 2025] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 90 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=90 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 90 -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [90] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [90] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [90] -2025-10-20 11:04:55 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [90] -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 90 -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID90: 成功=true -2025-10-20 11:04:55 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-20 11:05:29 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-20 11:05:29 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-20 11:05:29 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms -2025-10-20 11:07:17 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-20 11:07:17 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:07:24 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:07:24 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:07:24 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:07:24 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:07:24 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:07:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:07:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:07:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:07:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:07:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:07:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:07:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:07:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:07:24 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:07:24 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:07:24 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:07:24 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:07:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:07:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:07:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:07:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:07:24 [http-nio-8080-exec-2] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:07:24 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:07:24 [http-nio-8080-exec-1] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:07:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:07:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09: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-20 11:09:02 [Thread-5] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-20 11:09:02 [Thread-5] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' -2025-10-20 11:09:02 [Thread-5] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:02 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-20 11:09:02 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-20 11:09:02 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 19580 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-20 11:09:02 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-20 11:09:02 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-20 11:09:02 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-20 11:09:02 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. -2025-10-20 11:09:02 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-20 11:09:02 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-20 11:09:02 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-20 11:09:02 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-20 11:09:02 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-20 11:09:02 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 167 ms -2025-10-20 11:09:02 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-20 11:09:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:09:02 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-20 11:09:02 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-20 11:09: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-20 11:09:02 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:03 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: b0ea59c2-a2ae-4ca1-8e18-ccfd8fcc6d27 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-20 11:09:03 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@79e2209e, org.springframework.security.web.context.SecurityContextPersistenceFilter@457a354b, org.springframework.security.web.header.HeaderWriterFilter@15d37786, org.springframework.security.web.authentication.logout.LogoutFilter@7b28b14e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7d6cdefd, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@610d3575, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@201dc573, org.springframework.security.web.access.ExceptionTranslationFilter@1fb079bc, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@59f58f43] -2025-10-20 11:09:03 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-20 11:09:03 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-20 11:09:03 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.535 seconds (JVM running for 250.454) -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 6 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 6 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 0 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 0 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=6 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=0 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Mon Oct 20 11:09:03 CST 2025] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 91 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=91 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 91 -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [91] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [91] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [91] -2025-10-20 11:09:03 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [91] -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 91 -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID91: 成功=true -2025-10-20 11:09:03 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-20 11:09:03 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-20 11:09:15 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 12 class path changes (0 additions, 0 deletions, 12 modifications) -2025-10-20 11:09:15 [Thread-7] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-20 11:09:15 [Thread-7] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:15 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-20 11:09:15 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-20 11:09:15 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 19580 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-20 11:09:15 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-20 11:09:15 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-20 11:09:15 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-20 11:09:15 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. -2025-10-20 11:09:15 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-20 11:09:15 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-20 11:09:15 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-20 11:09:15 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-20 11:09:15 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-20 11:09:15 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 177 ms -2025-10-20 11:09:15 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-20 11:09:15 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:09:15 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-20 11:09:15 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-20 11:09:15 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-20 11:09:15 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:16 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 1c54ea4b-6d90-46f8-8278-f69f61831d86 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-20 11:09:16 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@76f5f43c, org.springframework.security.web.context.SecurityContextPersistenceFilter@7132b886, org.springframework.security.web.header.HeaderWriterFilter@6d9d89dc, org.springframework.security.web.authentication.logout.LogoutFilter@3207b5b4, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2a8478e6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@57c76125, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@58f697fd, org.springframework.security.web.access.ExceptionTranslationFilter@6fba21, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@202c171b] -2025-10-20 11:09:16 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-20 11:09:16 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-20 11:09:16 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.439 seconds (JVM running for 263.486) -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 6 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 6 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-20 11:09:16 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 0 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-20 11:09:16 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-20 11:09:16 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-20 11:09:16 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 0 -2025-10-20 11:09:16 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-20 11:09:16 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-20 11:09:16 [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-20 11:09:16 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -java.lang.Error: Unresolved compilation problem: - The method success(T, String) in the type ResponseMessage is not applicable for the arguments (Iterable, String, boolean) - - at com.qf.myafterprojecy.service.MessageService.getAllMessages(MessageService.java:32) ~[classes/:na] - at com.qf.myafterprojecy.runner.MessageDataChecker.testServiceMethods(MessageDataChecker.java:120) ~[classes/:na] - at com.qf.myafterprojecy.runner.MessageDataChecker.run(MessageDataChecker.java:50) ~[classes/:na] - at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:782) ~[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.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] -2025-10-20 11:09:16 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:16 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-20 11:09:16 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 19580 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-20 11:09:17 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-20 11:09:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-20 11:09:17 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11 ms. Found 4 JPA repository interfaces. -2025-10-20 11:09:17 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-20 11:09:17 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-20 11:09:17 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-20 11:09:17 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-20 11:09:17 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-20 11:09:17 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 151 ms -2025-10-20 11:09:17 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-20 11:09:17 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:09:17 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-20 11:09:17 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-20 11:09:17 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-20 11:09:17 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:17 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +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 -Using generated security password: a57813de-affd-4aaa-aee1-6ae4d4af1b30 + 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-20 11:09:17 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2d1eacc6, org.springframework.security.web.context.SecurityContextPersistenceFilter@77202187, org.springframework.security.web.header.HeaderWriterFilter@d9859ee, org.springframework.security.web.authentication.logout.LogoutFilter@6708566c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3cd45c55, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5e4a14d6, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4cc61f10, org.springframework.security.web.access.ExceptionTranslationFilter@696173ba, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@50823f12] -2025-10-20 11:09:17 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-20 11:09:17 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-20 11:09:17 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.371 seconds (JVM running for 265.351) -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 6 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 6 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-20 11:09:17 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 0 -2025-10-20 11:09:17 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-20 11:09:17 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 0 -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=6 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=0 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Mon Oct 20 11:09:18 CST 2025] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 92 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=92 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 92 -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [92] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [92] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [92] -2025-10-20 11:09:18 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [92] -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 92 -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID92: 成功=true -2025-10-20 11:09:18 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-20 11:09:18 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-20 11:09: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-20 11:09:27 [Thread-11] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-20 11:09:27 [Thread-11] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:27 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-20 11:09:27 [Thread-11] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 19580 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-20 11:09:27 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-20 11:09:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-20 11:09:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10 ms. Found 4 JPA repository interfaces. -2025-10-20 11:09:27 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-20 11:09:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-20 11:09:27 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-20 11:09:27 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-20 11:09:27 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-20 11:09:27 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 147 ms -2025-10-20 11:09:27 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-20 11:09:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-20 11:09:27 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-20 11:09:27 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-20 11:09: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-20 11:09:27 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-20 11:09:27 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +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: c9b8e6d5-e038-45fd-8cbb-4f228a4e2bb3 +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-20 11:09:27 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@34a306dd, org.springframework.security.web.context.SecurityContextPersistenceFilter@3505ff77, org.springframework.security.web.header.HeaderWriterFilter@646d18fb, org.springframework.security.web.authentication.logout.LogoutFilter@31a864ca, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1bfdc1ec, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@27eab655, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@294061aa, org.springframework.security.web.access.ExceptionTranslationFilter@20938709, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@93c04e9] -2025-10-20 11:09:27 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-20 11:09:27 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-20 11:09:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.356 seconds (JVM running for 275.252) -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 6 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 6 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 0 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 0 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=6 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=0 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Mon Oct 20 11:09:27 CST 2025] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 93 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=93 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 93 -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [93] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [93] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [93] -2025-10-20 11:09:27 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [93] -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 93 -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID93: 成功=true -2025-10-20 11:09:27 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-20 11:09:27 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-20 11:15:24 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-20 11:15:24 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-20 11:15:24 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms -2025-10-20 11:20:35 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:20:35 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:20:35 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:20:35 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:20:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:20:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:20:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:20:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:20:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:20:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:20:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:20:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:20:35 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:20:35 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:20:35 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:20:35 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:20:35 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:20:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:20:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:20:35 [http-nio-8080-exec-7] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:20:35 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:20:35 [http-nio-8080-exec-8] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:20:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:37 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:37 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:20:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:24 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:21:24 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:21:24 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:21:24 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:21:24 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:21:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:21:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:21:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:21:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:21:24 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:21:24 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:21:24 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:21:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:21:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:24 [http-nio-8080-exec-9] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:24 [http-nio-8080-exec-6] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:24 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:28 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:21:28 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:21:28 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:21:28 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:21:28 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:21:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:21:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:21:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:21:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:21:28 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:21:28 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:21:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:21:28 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:21:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:28 [http-nio-8080-exec-9] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:28 [http-nio-8080-exec-2] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:28 [http-nio-8080-exec-10] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:30 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:21:30 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:21:30 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:21:30 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:21:30 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:21:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:21:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:21:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:21:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:21:30 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:21:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:21:30 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:21:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:21:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:30 [http-nio-8080-exec-9] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:30 [http-nio-8080-exec-2] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:30 [http-nio-8080-exec-1] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:40 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:21:40 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:21:40 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:21:40 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:21:40 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:21:40 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:40 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:40 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:21:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:21:40 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:21:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:21:40 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:21:40 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:21:40 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:21:40 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:21:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:21:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:21:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:21:40 [http-nio-8080-exec-1] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:40 [http-nio-8080-exec-9] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:40 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:21:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:21:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:22:07 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-20 11:22:07 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:23:44 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-20 11:23:44 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:27:27 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-20 11:27:27 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-20 11:30:27 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:30:27 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:30:27 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:30:27 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:30:27 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:30:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:30:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:30:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:30:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:30:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:30:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:30:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:30:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:30:27 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:30:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:30:27 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:30:27 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:30:27 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:30:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:30:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:30:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:30:27 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:30:27 [http-nio-8080-exec-5] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:30:27 [http-nio-8080-exec-4] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:30:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:30:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:48:59 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:48:59 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:48:59 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:48:59 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:48:59 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:48:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:48:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:48:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:48:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:48:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:48:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:48:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:48:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:48:59 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:48:59 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:48:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:48:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:48:59 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:48:59 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:48:59 [http-nio-8080-exec-9] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:48:59 [http-nio-8080-exec-6] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:48:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:48:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:48:59 [http-nio-8080-exec-8] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:48:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:48:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:49:03 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:49:03 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:49:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:49:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:49:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:49:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:49:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:49:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:49:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:49:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:49:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:49:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:49:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:49:03 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:49:03 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:49:03 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:49:03 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:49:03 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:49:03 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:49:03 [http-nio-8080-exec-6] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:49:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:49:03 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:49:03 [http-nio-8080-exec-7] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:49:03 [http-nio-8080-exec-8] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:49:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:49:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:57:34 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-20 11:57:34 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=1, 属性名称=技术分享 -2025-10-20 11:57:34 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=2, 属性名称=生活随笔 -2025-10-20 11:57:34 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=4, 属性名称=行业动态 -2025-10-20 11:57:34 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收检查分类属性是否存在的请求: 分类ID=3, 属性名称=学习笔记 -2025-10-20 11:57:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:57:34 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:57:34 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:57:34 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:57:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术分享] -2025-10-20 11:57:34 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业动态] -2025-10-20 11:57:34 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习笔记] -2025-10-20 11:57:34 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [生活随笔] -2025-10-20 11:57:34 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4 -2025-10-20 11:57:34 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1 -2025-10-20 11:57:34 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3 -2025-10-20 11:57:34 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2 -2025-10-20 11:57:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-20 11:57:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:57:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-20 11:57:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-20 11:57:34 [http-nio-8080-exec-3] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:57:34 [http-nio-8080-exec-5] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:57:34 [http-nio-8080-exec-4] ERROR c.q.m.s.CategoryAttributeService - 获取分类属性失败: 分类属性不存在 -2025-10-20 11:57:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:57:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-20 11:57:52 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-20 11:57:52 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 +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] diff --git a/logs/web_project.log.2025-10-20.0.gz b/logs/web_project.log.2025-10-20.0.gz new file mode 100644 index 0000000000000000000000000000000000000000..a66ed5ec7f061a42e2b909c5f2b65e2dc6a669d3 GIT binary patch literal 37048 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 W$bar?-ETA4=l(ygLu$?kO9=qxJaK;j literal 0 HcmV?d00001 diff --git a/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java b/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java index 80005f1..1fb5bce 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java @@ -81,10 +81,6 @@ public class ArticleController { public ResponseMessage> getLatestArticlesByAttribute(@PathVariable Integer attributeId) { return articleService.getLatestArticlesByAttribute(attributeId); } - /** - * - * @return ar - */ /** * 获取浏览量最高的文章列表 * @return 返回包含热门文章列表的ResponseMessage对象 @@ -104,7 +100,15 @@ public class ArticleController { public ResponseMessage
createArticle(@Valid @RequestBody ArticleDto articleDto) { return articleService.saveArticle(articleDto); } - + /**文章浏览量 + * 增加文章浏览量 + * @param id 文章ID + * @return 返回包含更新后文章信息的ResponseMessage对象 + */ + @PostMapping("/view/{id}") + public ResponseMessage
incrementViewCount(@PathVariable Integer id) { + return articleService.incrementViewCount(id); + } /** * 更新现有文章 * 仅限AUTHOR角色用户访问 diff --git a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java index 3ba86d7..c6340ec 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java @@ -37,26 +37,6 @@ public class MessageController { logger.info("接收根据ID获取消息的请求: {}", id); return messageService.getMessageById(id); } - - /** - * 创建新消息 - */ - @PostMapping - public ResponseMessage createMessage(@RequestBody MessageDto message) { - logger.info("接收创建消息的请求: {}", message != null ? message.getNickname() : "null"); - return messageService.saveMessage(message); - } - - /** - * 根据ID删除消息 - */ - @DeleteMapping("/{id}") - public ResponseMessage deleteMessage(@PathVariable Integer id) { - logger.info("接收删除消息的请求: {}", id); - return messageService.deleteMessage(id); - } - - // 新增API端点 /** * 根据文章ID获取消息列表 @@ -102,4 +82,29 @@ public class MessageController { logger.info("接收获取文章评论数量的请求: {}", articleId); return messageService.getMessageCountByArticleId(articleId); } + /** + * 创建新消息 + */ + @PostMapping + public ResponseMessage createMessage(@RequestBody MessageDto message) { + logger.info("接收创建消息的请求: {}", message != null ? message.getNickname() : "null"); + return messageService.saveMessage(message); + } + + /** + * 根据ID删除消息 + */ + @DeleteMapping("/{id}") + public ResponseMessage deleteMessage(@PathVariable Integer id) { + logger.info("接收删除消息的请求: {}", id); + return messageService.deleteMessage(id); + } + //删除所有评论 + @DeleteMapping("/all") + public ResponseMessage deleteAllMessages() { + logger.info("接收删除所有消息的请求"); + return messageService.deleteAllMessages(); + } + // 新增API端点 + } diff --git a/src/main/java/com/qf/myafterprojecy/init/CategoryDataInit.java b/src/main/java/com/qf/myafterprojecy/init/CategoryDataInit.java index 453f35b..1096702 100644 --- a/src/main/java/com/qf/myafterprojecy/init/CategoryDataInit.java +++ b/src/main/java/com/qf/myafterprojecy/init/CategoryDataInit.java @@ -1,85 +1,85 @@ -package com.qf.myafterprojecy.init; +// package com.qf.myafterprojecy.init; -import com.qf.myafterprojecy.pojo.Category; -import com.qf.myafterprojecy.repository.CategoryRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.stereotype.Component; +// import com.qf.myafterprojecy.pojo.Category; +// import com.qf.myafterprojecy.repository.CategoryRepository; +// import org.slf4j.Logger; +// import org.slf4j.LoggerFactory; +// import org.springframework.beans.factory.annotation.Autowired; +// import org.springframework.boot.ApplicationArguments; +// import org.springframework.boot.ApplicationRunner; +// import org.springframework.stereotype.Component; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; +// import java.time.LocalDateTime; +// import java.util.ArrayList; +// import java.util.List; -/** - * 分类数据初始化类,用于在应用启动时初始化分类数据 - */ -@Component -public class CategoryDataInit implements ApplicationRunner { +// /** +// * 分类数据初始化类,用于在应用启动时初始化分类数据 +// */ +// @Component +// public class CategoryDataInit implements ApplicationRunner { - private static final Logger logger = LoggerFactory.getLogger(CategoryDataInit.class); +// private static final Logger logger = LoggerFactory.getLogger(CategoryDataInit.class); - @Autowired - private CategoryRepository categoryRepository; +// @Autowired +// private CategoryRepository categoryRepository; - @Override - public void run(ApplicationArguments args) throws Exception { - logger.info("===== 分类数据初始化开始 ====="); +// @Override +// public void run(ApplicationArguments args) throws Exception { +// logger.info("===== 分类数据初始化开始 ====="); - // 检查数据库中是否已有分类数据 - long count = categoryRepository.count(); - logger.info("当前数据库中分类数量: {}", count); +// // 检查数据库中是否已有分类数据 +// long count = categoryRepository.count(); +// logger.info("当前数据库中分类数量: {}", count); - // 如果没有分类数据,添加一些测试数据 - if (count == 0) { - logger.info("数据库中没有分类数据,开始添加初始化数据..."); - addInitialCategories(); - } else { - logger.info("数据库中已存在分类数据,无需初始化"); - } +// // 如果没有分类数据,添加一些测试数据 +// if (count == 0) { +// logger.info("数据库中没有分类数据,开始添加初始化数据..."); +// addInitialCategories(); +// } else { +// logger.info("数据库中已存在分类数据,无需初始化"); +// } - logger.info("===== 分类数据初始化结束 ====="); - } +// logger.info("===== 分类数据初始化结束 ====="); +// } - /** - * 添加初始分类数据 - */ - private void addInitialCategories() { - List categories = new ArrayList<>(); +// /** +// * 添加初始分类数据 +// */ +// private void addInitialCategories() { +// List categories = new ArrayList<>(); - // 创建几个常见的文章分类 - Category category1 = new Category(); - category1.setTypename("技术分享"); - category1.setDescription("技术文章、教程、经验分享等"); - category1.setCreatedAt(LocalDateTime.now()); - category1.setUpdatedAt(LocalDateTime.now()); - categories.add(category1); +// // 创建几个常见的文章分类 +// Category category1 = new Category(); +// category1.setTypename("技术分享"); +// category1.setDescription("技术文章、教程、经验分享等"); +// category1.setCreatedAt(LocalDateTime.now()); +// category1.setUpdatedAt(LocalDateTime.now()); +// categories.add(category1); - Category category2 = new Category(); - category2.setTypename("生活随笔"); - category2.setDescription("日常生活、心情记录、随笔等"); - category2.setCreatedAt(LocalDateTime.now()); - category2.setUpdatedAt(LocalDateTime.now()); - categories.add(category2); +// Category category2 = new Category(); +// category2.setTypename("生活随笔"); +// category2.setDescription("日常生活、心情记录、随笔等"); +// category2.setCreatedAt(LocalDateTime.now()); +// category2.setUpdatedAt(LocalDateTime.now()); +// categories.add(category2); - Category category3 = new Category(); - category3.setTypename("学习笔记"); - category3.setDescription("学习过程中的笔记、总结等"); - category3.setCreatedAt(LocalDateTime.now()); - category3.setUpdatedAt(LocalDateTime.now()); - categories.add(category3); +// Category category3 = new Category(); +// category3.setTypename("学习笔记"); +// category3.setDescription("学习过程中的笔记、总结等"); +// category3.setCreatedAt(LocalDateTime.now()); +// category3.setUpdatedAt(LocalDateTime.now()); +// categories.add(category3); - Category category4 = new Category(); - category4.setTypename("行业动态"); - category4.setDescription("行业新闻、趋势分析等"); - category4.setCreatedAt(LocalDateTime.now()); - category4.setUpdatedAt(LocalDateTime.now()); - categories.add(category4); +// Category category4 = new Category(); +// category4.setTypename("行业动态"); +// category4.setDescription("行业新闻、趋势分析等"); +// category4.setCreatedAt(LocalDateTime.now()); +// category4.setUpdatedAt(LocalDateTime.now()); +// categories.add(category4); - // 保存分类数据到数据库 - categoryRepository.saveAll(categories); - logger.info("成功添加 {} 条分类数据", categories.size()); - } -} \ No newline at end of file +// // 保存分类数据到数据库 +// categoryRepository.saveAll(categories); +// logger.info("成功添加 {} 条分类数据", categories.size()); +// } +// } \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/init/MessageDataInit.java b/src/main/java/com/qf/myafterprojecy/init/MessageDataInit.java index 464b377..5a8de5a 100644 --- a/src/main/java/com/qf/myafterprojecy/init/MessageDataInit.java +++ b/src/main/java/com/qf/myafterprojecy/init/MessageDataInit.java @@ -1,96 +1,96 @@ -package com.qf.myafterprojecy.init; +// package com.qf.myafterprojecy.init; -import com.qf.myafterprojecy.pojo.Message; -import com.qf.myafterprojecy.repository.MessageRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.stereotype.Component; +// import com.qf.myafterprojecy.pojo.Message; +// import com.qf.myafterprojecy.repository.MessageRepository; +// import org.slf4j.Logger; +// import org.slf4j.LoggerFactory; +// import org.springframework.beans.factory.annotation.Autowired; +// import org.springframework.boot.ApplicationArguments; +// import org.springframework.boot.ApplicationRunner; +// import org.springframework.stereotype.Component; -import java.util.Date; +// import java.util.Date; -/** - * 消息数据初始化类,用于在应用启动时为Message表添加默认的测试数据 - */ -@Component -public class MessageDataInit implements ApplicationRunner { +// /** +// * 消息数据初始化类,用于在应用启动时为Message表添加默认的测试数据 +// */ +// @Component +// public class MessageDataInit implements ApplicationRunner { - private static final Logger logger = LoggerFactory.getLogger(MessageDataInit.class); +// private static final Logger logger = LoggerFactory.getLogger(MessageDataInit.class); - @Autowired - private MessageRepository messageRepository; +// @Autowired +// private MessageRepository messageRepository; - @Override - public void run(ApplicationArguments args) throws Exception { - logger.info("===== 消息数据初始化开始 ====="); +// @Override +// public void run(ApplicationArguments args) throws Exception { +// logger.info("===== 消息数据初始化开始 ====="); - // 检查数据库中是否已有消息数据 - long count = messageRepository.count(); - logger.info("当前数据库中消息数量: {}", count); +// // 检查数据库中是否已有消息数据 +// long count = messageRepository.count(); +// logger.info("当前数据库中消息数量: {}", count); - // 如果没有消息数据,添加一些测试数据 - if (count == 0) { - logger.info("数据库中没有消息数据,开始添加初始化数据..."); - addInitialMessages(); - } else { - logger.info("数据库中已存在消息数据,无需初始化"); - } +// // 如果没有消息数据,添加一些测试数据 +// if (count == 0) { +// logger.info("数据库中没有消息数据,开始添加初始化数据..."); +// addInitialMessages(); +// } else { +// logger.info("数据库中已存在消息数据,无需初始化"); +// } - logger.info("===== 消息数据初始化结束 ====="); - } +// logger.info("===== 消息数据初始化结束 ====="); +// } - private void addInitialMessages() { - // 添加第一篇文章的评论 - Message message1 = new Message(); - message1.setNickname("系统用户"); - message1.setEmail("system@example.com"); - message1.setContent("这是系统自动添加的第一条评论,欢迎使用本系统!"); - message1.setCreatedAt(new Date()); - message1.setArticleid(1); - message1.setParentid(null); // 根评论 - messageRepository.save(message1); +// private void addInitialMessages() { +// // 添加第一篇文章的评论 +// Message message1 = new Message(); +// message1.setNickname("系统用户"); +// message1.setEmail("system@example.com"); +// message1.setContent("这是系统自动添加的第一条评论,欢迎使用本系统!"); +// message1.setCreatedAt(new Date()); +// message1.setArticleid(1); +// message1.setParentid(null); // 根评论 +// messageRepository.save(message1); - // 添加回复 - Message reply1 = new Message(); - reply1.setNickname("管理员"); - reply1.setEmail("admin@example.com"); - reply1.setContent("感谢您的支持,如有任何问题请随时联系我们!"); - reply1.setCreatedAt(new Date()); - reply1.setArticleid(1); - reply1.setParentid(message1.getMessageid()); // 回复第一条评论 - messageRepository.save(reply1); +// // 添加回复 +// Message reply1 = new Message(); +// reply1.setNickname("管理员"); +// reply1.setEmail("admin@example.com"); +// reply1.setContent("感谢您的支持,如有任何问题请随时联系我们!"); +// reply1.setCreatedAt(new Date()); +// reply1.setArticleid(1); +// reply1.setParentid(message1.getMessageid()); // 回复第一条评论 +// messageRepository.save(reply1); - // 添加第二篇文章的评论 - Message message2 = new Message(); - message2.setNickname("访客"); - message2.setEmail("visitor@example.com"); - message2.setContent("这篇文章写得非常好,学到了很多知识。"); - message2.setCreatedAt(new Date()); - message2.setArticleid(2); - message2.setParentid(null); - messageRepository.save(message2); +// // 添加第二篇文章的评论 +// Message message2 = new Message(); +// message2.setNickname("访客"); +// message2.setEmail("visitor@example.com"); +// message2.setContent("这篇文章写得非常好,学到了很多知识。"); +// message2.setCreatedAt(new Date()); +// message2.setArticleid(2); +// message2.setParentid(null); +// messageRepository.save(message2); - // 再添加一些测试数据 - Message message3 = new Message(); - message3.setNickname("测试用户1"); - message3.setEmail("test1@example.com"); - message3.setContent("这是测试内容1"); - message3.setCreatedAt(new Date()); - message3.setArticleid(1); - message3.setParentid(null); - messageRepository.save(message3); +// // 再添加一些测试数据 +// Message message3 = new Message(); +// message3.setNickname("测试用户1"); +// message3.setEmail("test1@example.com"); +// message3.setContent("这是测试内容1"); +// message3.setCreatedAt(new Date()); +// message3.setArticleid(1); +// message3.setParentid(null); +// messageRepository.save(message3); - Message reply2 = new Message(); - reply2.setNickname("测试用户2"); - reply2.setEmail("test2@example.com"); - reply2.setContent("回复测试内容1"); - reply2.setCreatedAt(new Date()); - reply2.setArticleid(1); - reply2.setParentid(message3.getMessageid()); - messageRepository.save(reply2); +// Message reply2 = new Message(); +// reply2.setNickname("测试用户2"); +// reply2.setEmail("test2@example.com"); +// reply2.setContent("回复测试内容1"); +// reply2.setCreatedAt(new Date()); +// reply2.setArticleid(1); +// reply2.setParentid(message3.getMessageid()); +// messageRepository.save(reply2); - logger.info("成功添加了{}条初始化消息数据", messageRepository.count()); - } -} \ No newline at end of file +// logger.info("成功添加了{}条初始化消息数据", messageRepository.count()); +// } +// } \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/pojo/Article.java b/src/main/java/com/qf/myafterprojecy/pojo/Article.java index f735c99..2e6bd36 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/Article.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/Article.java @@ -33,14 +33,26 @@ public class Article { @Column(name = "updated_at") private LocalDateTime updatedAt; + @Column(name = "view_count") private Integer viewCount; + @Column(name = "likes") + private Integer likes; // 点赞数 @Column(name = "status") private Integer status; // 0-草稿,1-已发布,2-已删除 // Getters and Setters + public Integer getLikes() { + return likes; + } + + public void setLikes(Integer likes) { + this.likes = likes; + } + + public Integer getAttributeid() { return attributeid; diff --git a/src/main/java/com/qf/myafterprojecy/pojo/Message.java b/src/main/java/com/qf/myafterprojecy/pojo/Message.java index f4d5b8a..c2a16b1 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/Message.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/Message.java @@ -8,22 +8,50 @@ import java.util.Date; public class Message { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + + @Column(name = "messageid") private Integer messageid; + @Column(name = "nickname") private String nickname; + @Column(name = "email") private String email; - @Column(columnDefinition = "text") + @Column(name = "content", columnDefinition = "text") private String content; @Temporal(TemporalType.TIMESTAMP) + @Column(name = "created_at") private Date createdAt; + @Column(name = "parentid") private Integer parentid; - private Integer articleid; + @Column(name = "replyid") + private Integer replyid; + @Column(name = "articleid") + private Integer articleid; + + @Column(name = "likes") + private Integer likes; // 点赞数 + + public Integer getLikes() { + return likes; + } + + public void setLikes(Integer likes) { + this.likes = likes; + } + + public Integer getReplyid() { + return replyid; + } + + public void setReplyid(Integer replyid) { + this.replyid = replyid; + } public Integer getMessageid() { return messageid; diff --git a/src/main/java/com/qf/myafterprojecy/pojo/dto/MessageDto.java b/src/main/java/com/qf/myafterprojecy/pojo/dto/MessageDto.java index 21fd003..3510753 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/dto/MessageDto.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/dto/MessageDto.java @@ -14,10 +14,18 @@ public class MessageDto { private Date createdAt; private Integer parentid; + + private Integer replyid; private Integer articleid; + public Integer getReplyid() { + return replyid; + } + public void setReplyid(Integer replyid) { + this.replyid = replyid; + } public Integer getMessageid() { return messageid; } diff --git a/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java b/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java index 8153da4..37b9fad 100644 --- a/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java +++ b/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java @@ -67,6 +67,7 @@ public interface ArticleRepository extends JpaRepository { @Query("UPDATE Article a SET a.viewCount = a.viewCount + 1 WHERE a.articleid = :articleid") void incrementViewCount(@Param("articleid") Integer articleid); + /** * 根据浏览量降序查询状态为1的所有文章 * 该查询使用JPQL语句,从Article实体中选取数据 diff --git a/src/main/java/com/qf/myafterprojecy/service/ArticleService.java b/src/main/java/com/qf/myafterprojecy/service/ArticleService.java index 34b117f..a5d58a1 100644 --- a/src/main/java/com/qf/myafterprojecy/service/ArticleService.java +++ b/src/main/java/com/qf/myafterprojecy/service/ArticleService.java @@ -163,7 +163,28 @@ public class ArticleService implements IArticleService { return ResponseMessage.failure("获取属性文章失败"); } } - + /** + * 增加文章浏览量 + * @param id 文章ID + * @return 返回包含更新后文章信息的ResponseMessage对象 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public ResponseMessage
incrementViewCount(Integer id) { + try { + Article article = articleRepository.findById(id) + .orElseThrow(() -> new RuntimeException("文章不存在")); + + article.setViewCount(article.getViewCount() + 1); + Article updatedArticle = articleRepository.save(article); + + return ResponseMessage.success(updatedArticle); + } catch (Exception e) { + log.error("增加文章浏览量失败: {}", e.getMessage()); + return ResponseMessage.failure("增加文章浏览量失败"); + } + } + @Override @Transactional(readOnly = true) public ResponseMessage> getLatestArticlesByAttribute(Integer attributeid) { diff --git a/src/main/java/com/qf/myafterprojecy/service/IArticleService.java b/src/main/java/com/qf/myafterprojecy/service/IArticleService.java index 6e5d786..8d9748a 100644 --- a/src/main/java/com/qf/myafterprojecy/service/IArticleService.java +++ b/src/main/java/com/qf/myafterprojecy/service/IArticleService.java @@ -39,4 +39,10 @@ public interface IArticleService { */ ResponseMessage> getLatestArticlesByAttribute(Integer attributeid); ResponseMessage> getMostViewedArticles(); + /** + * 增加文章浏览量 + * @param id 文章ID + * @return 返回包含更新后文章信息的ResponseMessage对象 + */ + ResponseMessage
incrementViewCount(Integer id); } diff --git a/src/main/java/com/qf/myafterprojecy/service/IMessageService.java b/src/main/java/com/qf/myafterprojecy/service/IMessageService.java index b26c0d1..8b436e3 100644 --- a/src/main/java/com/qf/myafterprojecy/service/IMessageService.java +++ b/src/main/java/com/qf/myafterprojecy/service/IMessageService.java @@ -59,7 +59,8 @@ public interface IMessageService { * @return 匹配的消息列表 */ ResponseMessage> searchMessagesByNickname(String nickname); - + //删除所有评论 + ResponseMessage deleteAllMessages(); /** * 获取指定文章的评论数量 * @param articleId 文章ID diff --git a/src/main/java/com/qf/myafterprojecy/service/MessageService.java b/src/main/java/com/qf/myafterprojecy/service/MessageService.java index a76cff6..d315532 100644 --- a/src/main/java/com/qf/myafterprojecy/service/MessageService.java +++ b/src/main/java/com/qf/myafterprojecy/service/MessageService.java @@ -191,7 +191,18 @@ public class MessageService implements IMessageService { return ResponseMessage.failure("查询消息失败:" + e.getMessage()); } } - + //删除所有评论 + @Override + public ResponseMessage deleteAllMessages() { + try { + logger.info("删除所有消息"); + messageRepository.deleteAll(); + return ResponseMessage.success(null, "删除成功", true); + } catch (DataAccessException e) { + logger.error("删除所有消息失败", e); + return ResponseMessage.failure("删除消息失败:" + e.getMessage()); + } + } @Override public ResponseMessage getMessageCountByArticleId(Integer articleId) { if (articleId == null || articleId <= 0) {