美文网首页我爱编程
配置_连接池的通用配置

配置_连接池的通用配置

作者: 七枷琴子 | 来源:发表于2018-05-29 09:42 被阅读0次

    德鲁伊,JDBC连接池,C3P0连接池

    只要换一下class就行了

    properites文件内容:
    # oracle jdbc properties
    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/demo1
    jdbc.user=root
    jdbc.password=666
    

    此配置文件中的xxxx.user,例如jdbc.user中的jdbc.可以更换,但是不可以省略,因为直接使用user=root的话会与系统中的保留user字段冲突,导致连接失败

    <!-- 加载properties文件 -->
        <context:property-placeholder location="classpath:config.properties" />
    
    <!-- C3P0配置本体-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${jdbc.driver}" />
            <property name="jdbcUrl" value="${jdbc.url}" />
            <property name="user" value="${jdbc.user}" />
            <property name="password" value="${jdbc.password}" />
            
        <!--以下配置按需修改 -->    
            <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
            <property name="initialPoolSize" value="5" />
            <!--连接池中保留的最小连接数。 -->
            <property name="minPoolSize" value="1" />
            <!--连接池中保留的最大连接数。Default: 15 -->
            <property name="maxPoolSize" value="100" />
            <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
            <property name="maxIdleTime" value="300" />
            <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
            <property name="acquireIncrement" value="5" />
            <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
            <property name="idleConnectionTestPeriod" value="60" />
        </bean>
    

    oracle的链接不会自动关闭,mysql的链接到8小时会自动关闭,所以有两个注意点:

    • 1.项目使用完后记得关闭/归还链接,否则容易造成链接资源耗尽而无法连接上数据库
    • 2.链接时间过长控制台会报出延时错误.建议设置
    <property name="maxIdleTime" value="300" />
    

    这条属性,数值可以按需调整

    2.不同数据库的方言问题

    mysql:

     <!--  以阿里云mysql数据库为例 -->
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="generateDdl" value="true" />
            <property name="database" value="MYSQL" />
            <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
            <property name="showSql" value="true" />
        </bean>
    </property>
    

    Oracle

    <!-- 以本地oracle_xe11版为例配置 -->
      
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="generateDdl" value="true" />
            <property name="database" value="ORACLE" />
            <property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" />
            <property name="showSql" value="true" />
        </bean>
    </property>
    
    

    相关文章

      网友评论

        本文标题:配置_连接池的通用配置

        本文链接:https://www.haomeiwen.com/subject/vtjojftx.html