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 0000000..a66ed5e Binary files /dev/null and b/logs/web_project.log.2025-10-20.0.gz differ 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) {