设为首页 加入收藏

TOP

数据库连接池及数据库连接获取(程序员的成长之路---第4篇)(一)
2019-09-17 17:00:29 】 浏览:97
Tags:数据库 连接 池及 获取 程序员 成长 --- 4篇

闲话少说,直接列举问题:

①AB两台数据库服务器做集群,由于两台服务器配置不一样,如何在代码中要实现每访问服务器A的数据库2次,才能访问服务器B的数据库1次。

②AB两台数据库服务器做读写分离,如何在代码中控制,查询数据使用服务器A的数据库连接,增删改使用服务器B的数据库连接。

代码结构:

代码实现:

①数据库连接信息默认值

package com.keji10.core.jdbc.properties;

/**
 * 类描述: 数据库连接信息默认值
 * 
 * @since 1.5
 * @version 1.0
 * @author xuanly
 * 
 */
public interface JdbcPropertiesContants {

    /**
     * jdbc.maxActive最大活跃数(默认值)
     */
    public static final int JDBC_MAXACTIVE_DEFAULT = 20;
    /**
     * jdbc.maxIdle最大连接数(默认值)
     */
    public static final int JDBC_MAXIDLE_DEFAULT = 20;
    /**
     * jdbc.maxWait默认等待时间(默认值)
     */
    public static final int JDBC_MAXWAIT_DEFAULT = 10000;
    /**
     * jdbc.weight默认数据库连接池权重(默认值)
     */
    public static final int JDBC_WEIGHT_DEFAULT = 1;
}

package com.keji10.core.jdbc.properties;

/**
 * 类描述: 数据库配置文件实体类
 * 
 * @since 1.5
 * @version 1.0
 * @author xuanly
 * 
 */
public class JdbcPropertiesBean implements JdbcPropertiesContants {
    private String jdbcDriver;
    private String jdbcUrl;
    private String jdbcUserName;
    private String jdbcPassword;
    private int jdbcMaxactive;
    private int jdbcMaxidle;
    private int jdbcMaxwait;
    private int jdbcWeight;

    public String getJdbcDriver() {
        return jdbcDriver;
    }

    public void setJdbcDriver(String jdbcDriver) {
        this.jdbcDriver = jdbcDriver;
    }

    public String getJdbcUrl() {
        return jdbcUrl;
    }

    public void setJdbcUrl(String jdbcUrl) {
        this.jdbcUrl = jdbcUrl;
    }

    public String getJdbcUserName() {
        return jdbcUserName;
    }

    public void setJdbcUserName(String jdbcUserName) {
        this.jdbcUserName = jdbcUserName;
    }

    public String getJdbcPassword() {
        return jdbcPassword;
    }

    public void setJdbcPassword(String jdbcPassword) {
        this.jdbcPassword = jdbcPassword;
    }

    public int getJdbcWeight() {
        if (jdbcWeight == 0) {
            // 返回默认值
            return JDBC_WEIGHT_DEFAULT;
        }
        return jdbcWeight;
    }

    public void setJdbcWeight(int jdbcWeight) {
        this.jdbcWeight = jdbcWeight;
    }

    public int getJdbcMaxactive() {
        if (jdbcMaxactive == 0) {
            // 返回默认值
            return JDBC_MAXACTIVE_DEFAULT;
        }
        return jdbcMaxactive;
    }

    public void setJdbcMaxactive(int jdbcMaxactive) {
        this.jdbcMaxactive = jdbcMaxactive;
    }

    public int getJdbcMaxidle() {
        if (jdbcMaxidle == 0) {
            // 返回默认值
            return JDBC_MAXIDLE_DEFAULT;
        }
        return jdbcMaxidle;
    }

    public void setJdbcMaxidle(int jdbcMaxidle) {
        this.jdbcMaxidle = jdbcMaxidle;
    }

    public int getJdbcMaxwait() {
        if (jdbcMaxwait == 0) {
            // 返回默认值
            return JDBC_MAXWAIT_DEFAULT;
        }
        return jdbcMaxwait;
    }

    public void setJdbcMaxwait(int jdbcMaxwait) {
        this.jdbcMaxwait = jdbcMaxwait;
    }

    public String toString() {
        StringBuffer s = new StringBuffer();
        s.append("jdbcDriver    =" + jdbcDriver);
        s.append("jdbcUrl       =" + jdbcUrl);
        s.append("jdbcUserName  =" + jdbcUserName);
        s.append("jdbcPassword  =" + jdbcPassword);
        s.append("jdbcMaxactive =" + jdbcMaxactive);
        s.append("jdbcMaxidle   =" + jdbcMaxidle);
        s.append("jdbcMaxwait   =" + jdbcMaxwait);
        s.append("jdbcWeight    =" + jdbcWeight);
        return s.toString();
    }
}

 ③数据库配置文件信息获取

package com.keji10.core.jdbc.properties;

import java.util.ResourceBundle;

import org.apache.log4j.Logger;

import com.keji10.core.exception
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇详解Java中对象的软、弱和虚引用.. 下一篇项目中必须对应的隐性需求-安全漏..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目