执行insert时候控制台打印[org/springframework/jdbc/support/sql-error-codes.xml]

本文探讨了在使用Spring框架进行数据库操作时遇到的BadSqlGrammarException异常,具体表现为SQL语法错误,涉及AuthenTransferMapper的insert方法。通过分析异常堆栈信息,明确了错误发生在设置参数阶段。
[http-nio-1123-exec-4] INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]

一直保存不了数据,打印的这些信息很难排查,
因为我们把异常信息catch掉了,将异常堆栈信息输出就一目了然;

org.springframework.jdbc.BadSqlGrammarException: 
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit,offset ) VALUES( 1078860117702610944,null,916962304294,null,null,'chen001'' at line 1
### The error may involve com.xxx.xxx.dao.mapper.AuthenTransferMapper.insert-Inline
### The error occurred while setting parameters
/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=54855:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/chenyuruo/Desktop/test22 2/target/classes:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.7.6/spring-boot-starter-web-2.7.6.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter/2.7.6/spring-boot-starter-2.7.6.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot/2.7.6/spring-boot-2.7.6.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.7.6/spring-boot-autoconfigure-2.7.6.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.7.6/spring-boot-starter-logging-2.7.6.jar:/Users/chenyuruo/.m2/repository/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11.jar:/Users/chenyuruo/.m2/repository/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11.jar:/Users/chenyuruo/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2.jar:/Users/chenyuruo/.m2/repository/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar:/Users/chenyuruo/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar:/Users/chenyuruo/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-core/5.3.24/spring-core-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-jcl/5.3.24/spring-jcl-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/yaml/snakeyaml/1.30/snakeyaml-1.30.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.7.6/spring-boot-starter-json-2.7.6.jar:/Users/chenyuruo/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.4.2/jackson-databind-2.13.4.2.jar:/Users/chenyuruo/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.13.4/jackson-annotations-2.13.4.jar:/Users/chenyuruo/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar:/Users/chenyuruo/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.13.4/jackson-datatype-jdk8-2.13.4.jar:/Users/chenyuruo/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.4/jackson-datatype-jsr310-2.13.4.jar:/Users/chenyuruo/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.13.4/jackson-module-parameter-names-2.13.4.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.7.6/spring-boot-starter-tomcat-2.7.6.jar:/Users/chenyuruo/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.69/tomcat-embed-core-9.0.69.jar:/Users/chenyuruo/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.69/tomcat-embed-el-9.0.69.jar:/Users/chenyuruo/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.69/tomcat-embed-websocket-9.0.69.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-web/5.3.24/spring-web-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-beans/5.3.24/spring-beans-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-webmvc/5.3.24/spring-webmvc-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-aop/5.3.24/spring-aop-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-context/5.3.24/spring-context-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-expression/5.3.24/spring-expression-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/mybatis/spring/boot/mybatis-spring-boot-starter/2.2.0/mybatis-spring-boot-starter-2.2.0.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.7.6/spring-boot-starter-jdbc-2.7.6.jar:/Users/chenyuruo/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-jdbc/5.3.24/spring-jdbc-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/springframework/spring-tx/5.3.24/spring-tx-5.3.24.jar:/Users/chenyuruo/.m2/repository/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/2.2.0/mybatis-spring-boot-autoconfigure-2.2.0.jar:/Users/chenyuruo/.m2/repository/org/mybatis/mybatis/3.5.7/mybatis-3.5.7.jar:/Users/chenyuruo/.m2/repository/org/mybatis/mybatis-spring/2.0.6/mybatis-spring-2.0.6.jar:/Users/chenyuruo/.m2/repository/mysql/mysql-connector-java/8.0.20/mysql-connector-java-8.0.20.jar:/Users/chenyuruo/.m2/repository/org/springframework/boot/spring-boot-starter-thymeleaf/2.7.6/spring-boot-starter-thymeleaf-2.7.6.jar:/Users/chenyuruo/.m2/repository/org/thymeleaf/thymeleaf-spring5/3.0.15.RELEASE/thymeleaf-spring5-3.0.15.RELEASE.jar:/Users/chenyuruo/.m2/repository/org/thymeleaf/thymeleaf/3.0.15.RELEASE/thymeleaf-3.0.15.RELEASE.jar:/Users/chenyuruo/.m2/repository/org/attoparser/attoparser/2.0.5.RELEASE/attoparser-2.0.5.RELEASE.jar:/Users/chenyuruo/.m2/repository/org/unbescape/unbescape/1.1.6.RELEASE/unbescape-1.1.6.RELEASE.jar:/Users/chenyuruo/.m2/repository/org/thymeleaf/extras/thymeleaf-extras-java8time/3.0.4.RELEASE/thymeleaf-extras-java8time-3.0.4.RELEASE.jar:/Users/chenyuruo/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/Users/chenyuruo/.m2/repository/org/slf4j/slf4j-simple/1.7.36/slf4j-simple-1.7.36.jar:/Users/chenyuruo/.m2/repository/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4.jar:/Users/chenyuruo/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar com.gznu.edu.cn.test22Application SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/chenyuruo/.m2/repository/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/chenyuruo/.m2/repository/org/slf4j/slf4j-simple/1.7.36/slf4j-simple-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.6) 2025-06-11 17:58:47.979 INFO 95519 --- [ main] com.gznu.edu.cn.test22Application : Starting test22Application using Java 11.0.2 on guodashuiyouduoqingninmoyimo.local with PID 95519 (/Users/chenyuruo/Desktop/test22 2/target/classes started by chenyuruo in /Users/chenyuruo/Desktop/test22 2) 2025-06-11 17:58:47.990 INFO 95519 --- [ main] com.gznu.edu.cn.test22Application : No active profile set, falling back to 1 default profile: "default" 2025-06-11 17:58:51.573 INFO 95519 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2025-06-11 17:58:51.600 INFO 95519 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-06-11 17:58:51.600 INFO 95519 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.69] 2025-06-11 17:58:51.978 INFO 95519 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2025-06-11 17:58:51.979 INFO 95519 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3553 ms 2025-06-11 17:58:54.931 WARN 95519 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.PortInUseException: Port 8080 is already in use 2025-06-11 17:58:54.949 INFO 95519 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-06-11 17:58:55.004 INFO 95519 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-06-11 17:58:55.043 ERROR 95519 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** 这个问题为什么/main进不去
最新发布
06-12
### Spring Boot 应用启动时端口 8080 被占用的解决方案 Spring Boot 应用默认使用 8080 端口进行服务暴露,当该端口被其他进程占用时,应用会因绑定失败而无法启动。以下是几种解决端口冲突问题的方法: #### 修改 Spring Boot 应用的监听端口 可以通过配置文件更改应用的监听端口。在 `application.properties` 文件中设置以下内容以避免与已占用的 8080 端口冲突[^2]: ```properties server.port=8081 ``` 如果使用的是 `application.yml` 文件,则可以这样配置: ```yaml server: port: 8081 ``` #### 动态分配端口 为了确保应用总能启动成功,可以在配置文件中将 `server.port` 设置为 `0`,这将使 Spring Boot 自动选择一个未被占用的端口[^3]: ```properties server.port=0 ``` 此方法适用于测试环境或需要动态分配端口的场景。 #### 查找并终止占用 8080 端口的进程 如果希望继续使用 8080 端口,则需要查找并终止占用该端口的进程。以下是具体操作步骤: **Windows 系统**: 运行以下命令查找占用端口的进程 ID 并终止该进程: ```cmd netstat -ano | findstr :8080 taskkill /PID <PID> /F ``` **Linux 系统**: 运行以下命令查找并终止占用端口的进程: ```bash lsof -i :8080 kill -9 <PID> ``` 上述命令中的 `<PID>` 是占用 8080 端口的进程 ID[^4]。 #### 配置外部容器端口 如果使用外部容器(如 Tomcat),可以在容器的配置文件中更改监听端口。例如,在 `server.xml` 文件中找到以下部分并修改端口号: ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 将 `port="8080"` 修改为其他未被占用的端口号。 #### 编程方式动态设置端口 可以通过编程方式在运行时动态设置端口号。以下是一个示例代码: ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { System.setProperty("server.port", "8081"); SpringApplication.run(DemoApplication.class, args); } } ``` 通过 `System.setProperty` 方法,可以在运行时动态设置端口号,避免硬编码[^3]。 ### 注意事项 - 更改端口后,请确保客户端请求能够正确指向新的端口。 - 如果应用部署在生产环境中,建议使用固定的端口号,并通过负载均衡器或反向代理隐藏实际端口。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值