C3P0连接池配置详解+数据库主从配置

数据层spring-dao.xml配置文件中C3P0连接池配置详解

在郾城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、做网站 网站设计制作定制开发,公司网站建设,企业网站建设,品牌网站建设,全网营销推广,成都外贸网站建设公司,郾城网站建设费用合理。

先放上两种配置文件bean的相关代码,文章下面会有详细的配置属性的讲解,
大家可以自己添加配置和修改配置


普通单一数据库连接池配置

spring-dao.xml部分内容(C3P0连接池部分):




 
            
            
            
            
            

            
            
            

            
            

            
            

            
            
    

jdbc.properties配置:

        jdbc.driver=com.MySQL.jdbc.Driver
        jdbc.url=jdbc:mysql://自己服务器的ip地址:3306/o2o?useUnicode=true&characterEncoding=utf8
        jdbc.username=root
        jdbc.password=123123123

C3P0 Mysql主从配置

需要结合 https://blog.51cto.com/12133802/2418323 一起使用
需要结合 https://blog.51cto.com/12133802/2418323 一起使用
需要结合 https://blog.51cto.com/12133802/2418323 一起使用
重要的话说三遍!!!

spring-dao.xml部分内容(C3P0连接池部分):

       

            
            
            

            
            

            
            

            
            

        
        
            
            
            
            
            
        
        
            
            
            
            
            
        

        
        
            
                
                    
                    
                    
                
            
        

        
        
            
                
            
        

mybatis-conf.xml配置:





 
    
    
        
        

        
        

        
        

    
    
    
        
    

 

jdbc.properties配置:

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.master.url=jdbc:mysql://主服务器IP地址:3306/o2o?useUnicode=true&characterEncoding=utf8
    jdbc.slave.url=jdbc:mysql://主服务器IP地址:3306/o2o?useUnicode=true&characterEncoding=utf8
    jdbc.username=root
    jdbc.password=123123123

接下来就是C3P0配置的详解了

基本配置 :
driverclass: 数据库驱动类

        mysql驱动则为:         com.mysql.jdbc.Driver
        oraclel驱动则为:        oracle.jdbc.driver.OracleDriver
        sqlserver驱动则为:      com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbcUrl:  数据库连接

        mysql连接:jdbc:mysql://IP:端口/数据库名称,
        例子:
        jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf-8

        oracle连接:jdbc.url=jdbc:oracle:thin:@IP:端口:实例名(sid) 
        例子:
        jdbc:oracle:thin:@127.0.0.1:1521:orcl

        sqlserver连接:jdbc:sqlserver://IP:端口;instanceName=sqlserver2005(版本);DatabaseName=easysite_2005(数据库名称)
        例子:
        jdbc:sqlserver://127.0.0.1:1433;instanceName=sqlserver2005;DatabaseName=easysite_2005
    user:登录数据库的账号
    password:登录数据库的密码

    
    

私有配置:

c3p0.acquireIncrement=20
默认值为: 3
当连接池中的连接耗尽的时候c3p0一次同时获取的连接数

c3p0.minPoolSize=20
默认值为: 3
连接池中保留的最小连接数

c3p0.maxPoolSize=100
默认值为: 15
接池中保留的最大连接数

c3p0.initialPoolSize=20
默认值为: 3
初始化时获取连接数,取值应在minPoolSize与maxPoolSize之间

c3p0.maxIdleTime=60
默认值为: 0
最大空闲时间,多少秒内未使用则连接被丢弃。若为0则永不丢弃

c3p0.maxStatements=0
默认值为: 0
c3p0全局的PreparedStatements缓存的大小。
如果maxStatements与maxStatementsPerConnection均为0,
则缓存不生效,只要有一个不为0,则语句的缓存就能生效

c3p0.numHelperThreads=10
默认值为: 3
c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。
扩展这些操作可以有效的提升性能通过多线程实现多个操作同时被执行

c3p0.acquireRetryAttempts=5
默认值为: 30
定义在从数据库获取新连接失败后重复尝试的次数。小于等于0表示无限次

c3p0.acquireRetryDelay=300
默认值为: 1000毫秒(ms)
重新尝试的时间间隔

c3p0.checkoutTimeout=3000
获取一个connection超时时间

c3p0.idleConnectionTestPeriod=60
默认值为: 0
每隔多少秒检查所有连接池中的空闲连接

c3p0.automaticTestTable=sys_connectiontest
默认值为: null
c3p0将建一张名为改配置项的空表,并使用其自带的查询语句进行测试。
如果定义了这个参数那么属性preferredTestQuery将被忽略。
你不能在这张Test表上进行任何操作,它将只供c3p0测试使用
由于运营平台的数据库用户没有创建表的权限,故需要发sql创建表

c3p0.testConnectionOnCheckin=true
默认值为: false
如果设为true那么在取得连接的同时将校验连接的有效性

c3p0.unreturnedConnectionTimeout=15
一个checkout连接的超时设置,一旦一个checkout连接超时,
他将物理的关闭,而不是返回池中,
主要是防止连接被长期使用不释放,这个设置也是比较危险的

本文题目:C3P0连接池配置详解+数据库主从配置
文章出自:http://scyanting.com/article/jjjooj.html