当前位置: 首页 > 知识库问答 >
问题:

在Spring Boot中,将c3p0与jdbcTemplate和Hibernate同时使用

吴单鹗
2023-03-14
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-c3p0</artifactId>
        <version>4.3.11.Final</version>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0.1</version>
    </dependency>

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ucp</artifactId>
        <version>12.1.0.2</version>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ons</artifactId>
        <version>12.1.0.2</version>
    </dependency>
# Properties for Hibernate and Oracle
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.properties.hibernate.connection.driver_class = oracle.jdbc.driver.OracleDriver

spring.datasource.url=jdbc:oracle:thin:@my-db-server:1523:me
spring.datasource.username=myuser
spring.datasource.password=mypass


# Configure the C3P0 database connection pooling module
spring.jpa.properties.hibernate.c3p0.max_size = 15
spring.jpa.properties.hibernate.c3p0.min_size = 6
spring.jpa.properties.hibernate.c3p0.timeout = 2500
spring.jpa.properties.hibernate.c3p0.max_statements_per_connection = 10
spring.jpa.properties.hibernate.c3p0.idle_test_period = 3000
spring.jpa.properties.hibernate.c3p0.acquire_increment = 3
spring.jpa.properties.hibernate.c3p0.validate = false
spring.jpa.properties.hibernate.c3p0.numHelperThreads = 15

spring.jpa.properties.hibernate.connection.provider_class = org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

spring.jpa.properties.hibernate.connection.url=jdbc:oracle:thin:@sea-db-server:1523:me
spring.jpa.properties.hibernate.connection.username=myuser
spring.jpa.properties.hibernate.connection.password=mypass

我试图确保:(1)我有一个连接池,当连接丢失时,它将管理与数据库的重新连接;(2)JDBC和Hibernate使用相同的数据源。

我说对了吗?

spring.datasource.url=jdbc:oracle:thin:@db-server:1523:mysvc
spring.datasource.username=myuser
spring.datasource.password=mypass

spring.datasource.max-active=50
spring.datasource.initial-size=5
spring.datasource.max-idle=10
spring.datasource.min-idle=5
spring.datasource.test-while-idle=true
spring.datasource.test-on-borrow=true
spring.datasource.validation-query=SELECT 1 FROM DUAL
spring.datasource.time-between-eviction-runs-millis=5000
spring.datasource.min-evictable-idle-time-millis=60000

共有1个答案

巫懿轩
2023-03-14

(1)带Spring的UCP配置。参考博客

(2)公共maven存储库中没有Oracle JDBC驱动程序。因此,您需要从OTN页面安装手动下载JDBC驱动程序,如下所示。

mvn安装:install-file\-dfile=/lib/ojdbc7.jar\-dgroupid=com.oracle\-dartifactid=ojdbc7\-dversion=12.1.0.1\-dpackaging=jar\-dgeneratePom=true

 类似资料:
  • 问题内容: 好吧,我正在尝试使用JPA + Hibernate + Spring首次配置C3P0。在persistence.xml中,我有: 但是,当我尝试初始化tomcat时,出现以下错误: 编辑1: 这是我的applicationContext.xml,如何在其中配置C3P0呢? 问题答案: 您的配置有缺陷。您正在应用程序上下文中进行配置。因此,基本上所有属性都是无用的,其次,该属性的设置破坏

  • 我们的软件使用api(filenet p8),需要配置log4j。我们使用logBack和Spring Boot。我注意到,要在Spring Boot中使用log4j,我们必须排除logBack。这是不可能的。有没有办法在Spring Boot中并行运行log4j和logBack?谢啦

  • 看起来在这个话题上有一些问题,但许多问题现在已经过时,或者问的是不同的问题。 例如,我想做 我不想在 我有一个方法签名,它同时接受请求参数和请求主体(它是Kotlin,但我不认为这实际上有什么不同)。 我可以很好地访问RequestParam,但是RequestBody包含的不仅仅是我在body中发送的JSON,它包含了body和请求参数的合并。在上面的示例中,它将为body绑定输出以下内容 有没

  • 问题内容: 我正在使用Spring 3.0,Hibernate 3.0的项目中工作。我的项目具有Controller,Service和DAO层。Daos(用hibernate方式编写)可从服务层访问。现在的要求是,我需要同时使用Hibernate和JDBC。hibernate部分约为80-90%。对于剩余的10%,我必须使用简单的JDBC(可以使用JdbcTemplate)。请建议我,我该如何同时

  • 我正在编写一个模块来持久化一些数据,并使用OpenJPA作为持久化提供程序。但是现在我想给用户一个配置选项来在和之间切换。所以我写了一个新的DaoFactory类来创建,并在hibernate的中创建了新的持久性单元()。 现在,当我创建EntityManagerFactory时,问题出现了。我的密码是, 我的坚持。xml 我的Hibernate属性地图是, 这将选择OpneJPA作为正确的持久性

  • 问题内容: 我在将Integer数组插入Postgresql Table时遇到问题,该如何解决? 其中ballNumbers和ballNumbersMegaBall是ArrayList。填充2位数字。 这是PostgreSQL表: 这是Springboot的错误: 发生意外错误(类型=内部服务器错误,状态= 500)。PreparedStatementCallback; 错误的SQL语法[INSE