spring-jdbc 相关问题

Spring JDBC是Spring提供的数据访问层的一部分。 Spring Framework负责处理所有可以使JDBC成为繁琐的API的低级细节,例如数据库连接,创建准备语句,处理异常等,

如何从 Java Spring boot 应用程序调用具有自定义复杂对象类型作为 OUTPUT 参数的 Oracle PL-SQL 过程

在 Spring boot 应用程序中,我正在尝试使用多个 IN 和 OUT 参数调用 Oracle Procedure。 OUT 参数之一是嵌套的自定义对象类型。我正在寻找一种方法来调用

回答 0 投票 0

JdbcBatchItemWriter 中的 JdbcTemplate 正在删除插入语句中的列名时间戳

我们正在使用 Spring Batch 将记录从一个数据库同步到另一个数据库。 目标表定义是这样的: 创建表实体名称( entity_id varchar(255) 不为空, 值 varchar...

回答 0 投票 0

Spring boot无法使用PostgreSQL驱动加载DataSource

我已经使用 Spring Boot 1.0.2.RELEASE(直到今天是 1.0.1.RELEASE)成功开发了一个原型。 我已经搜索和搜索并尝试过以下解决方案: Spring Boot jdbc 数据源

回答 8 投票 0

HikariPool 在每个时间间隔关闭并在一段时间后重新启动

在我的应用程序日志中,我可以看到 Hikaripool 在每个时间间隔关闭,比如 30 或 45 分钟,几分钟后重新启动。在那段时间里,应用程序显示出错误的网关...

回答 1 投票 0

在应用程序启动时执行多个脚本

我将 DataSource 定义为 bean: @Bean(名称=“数据源”) 公共 DriverManagerDataSource 数据源(){ DriverManagerDataSource dataSource = new DriverManagerDataSource(); 数据源。

回答 3 投票 0

无法使用 Spring Security 传递 403 禁止错误代码

我正在尝试设置一个带有 cookie 会话的基本身份验证服务器。我将使用 Java 和 Spring 从客户端与该服务进行通信。现在,问题是我无法通过基本登录端点,但我得到了

回答 1 投票 0

SimpleJdbcCall 类型问题和引用游标

我有一个来自 Oracle 数据库的存储过程。我正在尝试使用 SimpleJdbcCall 在我的 DAO 中使用 Spring Boot 项目调用数据库(我在另一个文件中创建了一个 simpleJdbcCallFactory)。在...

回答 0 投票 0

是否可以覆盖 Spring 的 JpaSpecification“findAll”方法来向我的实体添加额外的字段?

我正在使用 Java 11 和 Spring Boot 2.5。我有一个带有 @Transient 字段的 JPA 实体 @实体 公共类 MyEntity { ... 私有字符串名称; ... @短暂的 私人字符串组;...

回答 5 投票 0

如何将 MySQL 数据库连接到 Spring boot 3?

我正在使用 Java 17 在 Spring boot 3 中编写 Restful API,但我无法创建表。任何人都可以帮忙 我的 POM 文件 我正在使用 Java 17 在 Spring boot 3 中编写 Restful API,但我无法创建表。任何人都可以帮忙 我的 POM 文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.userservice</groupId> <artifactId>UserService</artifactId> <version>0.0.1-SNAPSHOT</version> <name>UserService</name> <description>user service</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <version>8.0.30</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> 控制器类 package com.userservice.UserService.controller; import java.util.List; @RestController @RequestMapping("/users") public class mainController { @Autowired private Serviceimpl userService; @PostMapping public ResponseEntity<User> createUser(@RequestBody User user){ User user1 = userService.saveUser(user); return ResponseEntity.status(HttpStatus.CREATED).body(user1); } @GetMapping("/{userId}") public ResponseEntity<User> getSingleUser(@PathVariable String userId){ User user = userService.getUser(userId); return ResponseEntity.ok(user); } @GetMapping("/") public ResponseEntity<List<User>> getAllUser(){ List<User> allUser = userService.getAllUser(); return ResponseEntity.ok(allUser); } } 道层 package com.userservice.UserService.repos; @Repository public interface userRepo extends JpaRepository<User, String> { } 我的实体类 package com.userservice.UserService.Entities; import jakarta.persistence.*; import lombok.*; @Getter @Setter @NoArgsConstructor @AllArgsConstructor @Builder @Entity @Table(name = "microsusers") public class User { @Id @Column(name="id") private String UserId; @Column (name="Name",length = 200) private String name; @Column(name = "Abouts") private String about; } 服务等级 package com.userservice.UserService.service; @Service public class Serviceimpl implements Services { @Autowired private userRepo userrepo; @Override public User saveUser(User user) { String randomUserId = UUID.randomUUID().toString(); user.setUserId(randomUserId); return userrepo.save(user); } @Override public List<User> getAllUser() { return userrepo.findAll(); } @Override public User getUser(String userId) { return userrepo.findById(userId) } @Override public void DeleteUser(String userId) { // TODO Auto-generated method stub } } 服务接口 package com.userservice.UserService.service; public interface Services { User saveUser(User user); List<User> getAllUser(); User getUser(String userId); void DeleteUser (String userId) ; } application.yml 文件 server: port: 8081 spring: datasource: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/TrialDB username: root password: pewpewpew jpa: generate-ddl: true hibernate: ddl-auto: create show-sql: true 输出是 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.3) 2023-03-05T18:30:56.514+05:30 INFO 1412 --- [ main] c.u.UserService.UserServiceApplication : Starting UserServiceApplication using Java 17.0.6 with PID 1412 (D:\ALL CODES\Microservice\UserService\target\classes started by Bhavya in D:\ALL CODES\Microservice\UserService) 2023-03-05T18:30:56.517+05:30 INFO 1412 --- [ main] c.u.UserService.UserServiceApplication : No active profile set, falling back to 1 default profile: "default" 2023-03-05T18:30:56.974+05:30 INFO 1412 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2023-03-05T18:30:56.975+05:30 INFO 1412 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode. 2023-03-05T18:30:56.987+05:30 INFO 1412 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 9 ms. Found 0 JDBC repository interfaces. 2023-03-05T18:30:56.994+05:30 INFO 1412 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2023-03-05T18:30:56.995+05:30 INFO 1412 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2023-03-05T18:30:56.999+05:30 INFO 1412 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 0 ms. Found 0 JPA repository interfaces. 2023-03-05T18:30:57.408+05:30 INFO 1412 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http) 2023-03-05T18:30:57.418+05:30 INFO 1412 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2023-03-05T18:30:57.419+05:30 INFO 1412 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.5] 2023-03-05T18:30:57.523+05:30 INFO 1412 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2023-03-05T18:30:57.523+05:30 INFO 1412 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 967 ms 2023-03-05T18:30:57.686+05:30 INFO 1412 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2023-03-05T18:30:57.748+05:30 INFO 1412 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.1.7.Final 2023-03-05T18:30:57.972+05:30 INFO 1412 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2023-03-05T18:30:58.141+05:30 INFO 1412 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:8a12c987-5920-49a8-bed8-3e532880482f user=ROOT 2023-03-05T18:30:58.143+05:30 INFO 1412 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2023-03-05T18:30:58.167+05:30 INFO 1412 --- [ main] SQL dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2023-03-05T18:30:58.171+05:30 WARN 1412 --- [ main] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead 2023-03-05T18:30:58.466+05:30 WARN 1412 --- [ main] org.hibernate.orm.deprecation : HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead 2023-03-05T18:30:58.467+05:30 INFO 1412 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2023-03-05T18:30:58.476+05:30 INFO 1412 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2023-03-05T18:30:58.503+05:30 WARN 1412 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2023-03-05T18:30:58.855+05:30 INFO 1412 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path '' 2023-03-05T18:30:58.862+05:30 INFO 1412 --- [ main] c.u.UserService.UserServiceApplication : Started UserServiceApplication in 2.717 seconds (process running for 3.231) 主课 package com.userservice.UserService; @SpringBootApplication @EnableConfigurationProperties @EntityScan(basePackages = {"com.userservice.UserService.Entity"}) public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } 我也试过添加不同的方言,比如:- spring.jpa.properties.javax.persistence.schema-generation.database.action=create spring.jpa.properties.javax.persistence.schema-generation.create-database-schemas=true spring.jpa.properties.javax.persistence.schema-generation.create-source=metadata spring.jpa.properties.javax.persistence.schema-generation.drop-source=metadata spring.jpa.generate-ddl=true spring.jpa.hibernate.ddl-auto=create spring.jpa.defer-datasource-initialization=true spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect spring.jpa.properties.hibernate.dialect.storage_engine=innodb 请帮助我,我在这一点上停留了很长时间,这在 spring 2 上运行良好

回答 0 投票 0

是否可以在 spring boot 中关闭与 JDBC 的连接?

我是一个最近接触Java和Spring-boot frameWork的男生; 为了执行简单的数据库查询,我使用了 namedParameterJdbcTemplate。以及他的各种方法比如.query,.

回答 1 投票 0

如何使用 Spring Boot 在 Json 对象中添加 Total 记录

我在前端实现了分页,因此它需要 Json 对象中的总记录,其中包含特定页码的数据,但我不知道如何追加总记录...

回答 2 投票 0

无法打开事务的 JDBC 连接

我想报告一个我觉得很奇怪的配置问题。 这是我正在使用的应用程序上下文配置文件 我想报告一个我觉得很奇怪的配置问题。 这是我正在使用的应用程序上下文配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <context:annotation-config/> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> </bean> <bean id="processingStratagyContainer" class="ru.rt.mnp.translator.converter.process.ProcessingStratagyContainer"> <property name="fileProcessingStratagyMap"> <map> <entry key="Port_Increment" value-ref="portIncrementProcessingStratagy"/> <entry key="Return_Increment" value-ref="returnIncrementProcessingStratagy"/> <entry key="Port_All" value-ref="portAllProcessingStratagy"/> </map> </property> </bean> <!--�������� ������������������ ������������������ ������������--> <bean id="portIncrementProcessingStratagy" class="ru.rt.mnp.translator.converter.process.PortIncrementProcessingStratagy"> <property name="rowSizeColumnPosition" value="11"/> <property name="columnBindings"> <map> <!--first has index 0--> <entry key="1" value="number[java.lang.String]"/> <entry key="5" value="old_route[java.lang.String]"/> <entry key="6" value="new_route[java.lang.String]"/> <entry key="9" value="region_code[java.lang.String]"/> <entry key="10" value="port_date[java.util.Date]{yyyy-MM-dd'T'HH:mm:ssXXX}"/> </map> </property> </bean> <bean id="returnIncrementProcessingStratagy" class="ru.rt.mnp.translator.converter.process.ReturnIncrementProcessingStratagy"> <property name="rowSizeColumnPosition" value="9"/> <property name="columnBindings"> <map> <!--first has index 0--> <entry key="1" value="number[java.lang.String]"/> <entry key="5" value="old_route[java.lang.String]"/> <entry key="6" value="new_route[java.lang.String]"/> <entry key="7" value="region_code[java.lang.String]"/> <entry key="8" value="port_date[java.util.Date]{yyyy-MM-dd'T'HH:mm:ssXXX}"/> </map> </property> </bean> <bean id="portAllProcessingStratagy" class="ru.rt.mnp.translator.converter.process.PortAllProcessingStratagy"> <property name="rowSizeColumnPosition" value="6"/> <property name="columnBindings"> <map> <!--first has index 0--> <entry key="0" value="number[java.lang.String]"/> <entry key="3" value="new_route[java.lang.String]"/> <entry key="4" value="region_code[java.lang.String]"/> <entry key="5" value="port_date[java.util.Date]{yyyy-MM-dd'T'HH:mm:ssXXX}"/> </map> </property> </bean> <bean id="postProcessingStratagyContainer" class="ru.rt.mnp.translator.converter.postprocess.PostProcessingStratagyContainer"> <property name="postProcessingStratagableMap"> <map> <entry key="Port_Increment" value-ref="mnpTrfPartPostProcessingStratagy"/> <entry key="Return_Increment" value-ref="mnpTrfPartPostProcessingStratagy"/> <entry key="Port_All" value-ref="mnpTrfFullPostProcessingStratagy"/> <entry key="IncrementCounter" value-ref="incrementCounterPostProcessingStratagy"/> <entry key="HistoryRequestFull" value-ref="historyRequestFullPostProcessingStratagy"/> <entry key="HistoryRequestPart" value-ref="historyRequestPartPostProcessingStratagy"/> </map> </property> </bean> <bean id="mnpTrfPartPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.MnpTrfPartPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="1"/> </bean> <bean id="mnpTrfFullPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.MnpTrfFullPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="2"/> </bean> <bean id="incrementCounterPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.IncrementCounterPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="9"/> </bean> <bean id="historyRequestFullPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.HistoryRequestFullPostProcessingStratagy" > <property name="placeInPostProcessingChain" value="4"/> </bean> <bean id="historyRequestPartPostProcessingStratagy" class="ru.rt.mnp.translator.converter.postprocess.HistoryRequestPartPostProcessingStratagy"> <property name="placeInPostProcessingChain" value="3"/> </bean> <bean id="convertTask" class="ru.rt.mnp.translator.converter.job.ConvertTask"/> <bean id="testTask" class="ru.rt.mnp.translator.converter.job.TestTask"/> <bean id="historyRequestTask" class="ru.rt.mnp.translator.converter.job.HistoryRequestTask"/> **<bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url" value="${url}"/> <property name="username" value="****"/> <property name="password" value="****"/> </bean>** <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="mnpHistoryDao" class="ru.rt.mnp.translator.converter.storage.MnpHistoryDao"> <property name="jdbcTemplate" ref="jdbcTemplate"/> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <constructor-arg name="dataSource" ref="dataSource"/> </bean> <!-- specifing class and method that is going to be called on a specified time basis --> <bean id="convertJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="convertTask"/> <property name="targetMethod" value="execute"/> </bean> <bean id="convertTestJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="testTask"/> <property name="targetMethod" value="execute"/> </bean> <bean id="historyRequestJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="historyRequestTask"/> <property name="targetMethod" value="execute"/> </bean> <!-- simple trigger specify repeat interval and delay time --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="convertJob"/> <!--<property name="cronExpression" value="0 5 0,2,4,6,8,10,12,14,16,18,20,22 ? * *"/>--> <property name="cronExpression" value="0 15,45 * ? * *"/> <property name="startDelay" value="1000"/> </bean> <bean id="cronTestTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="convertTestJob"/> <property name="cronExpression" value="0 0/10 * ? * *"/> <property name="startDelay" value="1000"/> </bean> <bean id="cronHistoryRequestTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="historyRequestJob"/> <property name="cronExpression" value="0/10 * * ? * *"/> <property name="startDelay" value="1000"/> </bean> <!-- scheduler factory bean to bind,the executing code and time intervals together --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="configLocation" value="classpath:quartz.properties"/> <property name="jobDetails"> <list> <ref bean="convertJob"/> <ref bean="convertTestJob"/> <ref bean="historyRequestJob"/> </list> </property> <property name="triggers"> <list> <ref bean="cronTrigger"/> <ref bean="cronTestTrigger"/> <ref bean="cronHistoryRequestTrigger"/> </list> </property> </bean> 但是当运行转换动作时,我有这个错误: 处理文件 /***.zip 的问题 org.springframework.transaction.CannotCreateTransactionException: 无法打开事务的 JDBC 连接;嵌套异常是 java.sql.SQLException:连接已关闭 单一连接数据源。检查用户代码检查 shouldClose() 在关闭连接之前,或将“suppressClose”设置为“true” 在 org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:241) 在 org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:372) 在 org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:417) 在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction (TransactionAspectSupport.java:255) 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 在 com.sun.proxy.$Proxy5.processFile(未知来源) 在 ru.rt.mnp.translator.converter.job.ConvertTask.execute(ConvertTask.java:69) 在 sun.reflect.GeneratedMethodAccessor12.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273) 在 org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:311) 在 org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113) 在 org.quartz.core.JobRunShell.run(JobRunShell.java:207) 在 org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560) 引起:java.sql.SQLException:连接已关闭 单一连接数据源。检查用户代码检查 shouldClose() 在关闭连接之前,或将“suppressClose”设置为“true” 在 org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:189) 在 org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:203) 谁能给我解释一下这是什么问题? 我应该怎么做才能解决这个问题? 谢谢! 我不得不在使用 SpringBoot 的 Web 应用程序中使用 SingleConnectionDataSource。我们还为所有数据库事务使用了一个 ORM 包,即使将 suppressClose 配置为 true,我也遇到了同样的问题。在第一次登录时它工作正常,但是当连接长时间处于空闲状态时,就会出现以下错误。 错误是 java.sql.SQLException: Connection was closed in SingleConnectionDataSource. Check that user code checks shouldClose() before closing Connections, or set 'suppressClose' to 'true' at org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:167) 最后将数据源配置为会话范围的对象解决了它。之前是单例,重新配置到会话范围解决了这个问题。 <bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource" scope="session">

回答 1 投票 0

为 WebApplication 使用 JDBC DriverManager.getConnection

我们的团队正计划迁移到 Web 应用程序而不是桌面应用程序。 不过有一点是第一轮更新,我们不打算对后端数据库进行任何更改

回答 0 投票 0

shardingsphere 使用 Spring 事务更改隔离不起作用

shardingsphere-jdbc 5.0.0 本地事务 弹簧框架 5.2.12 mysql默认事务隔离:REPEATABLE-READ 春季使用:@Transactional(rollbackFor = Exception.class,isolation = Iso...

回答 0 投票 0

application.properties中的注释

我在Spring世界里是个新手,我使用application.properties来设置不同的端口值。我在使用application.properties来设置不同的端口值,如何在application.properties文件中注释一些代码?我如何在application.properties文件中注释一些代码?

回答 1 投票 0

禁用DataSourceAutoConfiguration Spring引导。

我有一个使用spring-jdbc的库,这个库包含了需要在多个项目中标准化的通用工具方法。该库在其他Spring Boot ...

回答 1 投票 1

使用EntityManager NativeQuery生成一个自动增加的数字并将数据插入到Oracle DB中。

我正在使用Spring开发一个ETL应用程序。我的数据是以String类型插入的,并希望使用entityManager.createNativeQuery(query).executeUpdate()加载数据,我没有任何......

回答 1 投票 0

Spring Boot相当于XML多数据库配置

我想把两个项目移植到Spring Boot 1.1.6上。这两个项目都是一个大项目的一部分。它们都需要对每个基于Web请求的区域的7个生产数据库中的1个进行SQL连接。其中一个...

回答 1 投票 1

SimpleJdbcInsert在MySQL DB上,在executeAndReturnKey方法后返回BigInteger而不是Long。

我正在MySQL表上运行一个简单的插入查询,主键声明如下:id BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY 由于某些原因,返回的键是一个BigInteger。...

回答 1 投票 0

JDBCTemplate - 如何以Map<String, Object>为参数源运行UPDATE语句?

对于一个INSERT语句,可以做如下操作(db是一个自动连接的JdbcTemplate): var insert = new SimpleJdbcInsert(db) .withTableName("orders") .usingGeneratedKeyColumns("id"); Map

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.