java 数据库连接池配置

连接池配置所需jar包

java 数据库连接池配置_第1张图片

Servlet-api.jar自行导入Tomcat 目录下的jar包,其余jar包如果没有的话

请看下载链接----->  下载  (没有办法设置成免费,设成最低一积分下载了)

下载入口2 : YouDaoNote

这些jar包可以配置dbcp,c3p0等主流连接池配置

DBCP连接池配置

配置文件dp.properties建议房子src目录下

java 数据库连接池配置_第2张图片

配置文件的内容如下

db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/databasename
db.username=username
db.password=password
dataSource.initialSize=10
dataSource.maxIdle=60
dataSource.minIdle=10
dataSource.maxActive=80
dataSource.maxWait=3000
removeAbandonedOnMaintenance=true
removeAbandonedOnBorrow=true
removeAbandonedTimeout=30

根据自己的数据库配置修改对应的参数即可。

连接池连接获取类

构建获取连接的类,内容如下

package xxx.sqlcon;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import org.apache.commons.dbcp2.BasicDataSource;
public class ConnectionPool {
	private static BasicDataSource basicDataSource;

    /**
    * 读取配置文件,并且初始化连接池
    */
    private static void init(){
        // 根据上面所放类路径读取配置文件
        java.io.InputStream inputStream = ConnectionPool.class.getClassLoader()
                .getResourceAsStream("db.properties");
        Properties properties = new Properties();
        try {
            // 加载properties文件
            properties.load(inputStream);

            // 新建一个BasicDataSource
            basicDataSource = new BasicDataSource();

            // 设置对应的参数
            basicDataSource.setUrl(properties.getProperty("db.url"));
            basicDataSource.setDriverClassName(properties.getProperty("db.driverClassName"));
            basicDataSource.setUsername(properties.getProperty("db.username"));
            basicDataSource.setPassword(properties.getProperty("db.password"));

            basicDataSource.setInitialSize(Integer.parseInt(properties.getProperty("dataSource.initialSize")));
            basicDataSource.setMaxIdle(Integer.parseInt(properties.getProperty("dataSource.maxIdle")));
            basicDataSource.setMinIdle(Integer.parseInt(properties.getProperty("dataSource.minIdle")));
            basicDataSource.setMaxWaitMillis(Integer.parseInt(properties.getProperty("dataSource.maxWait")));
            basicDataSource.setMaxTotal(Integer.parseInt(properties.getProperty("dataSource.maxActive")));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获得Connection
     * @return Connection
     */
     public synchronized static Connection getConnection(){
            if (basicDataSource == null){
                init();
            }
            try {
                return basicDataSource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return null;
      }
}

调用getConnection() 函数即可获得一个可用连接。

 

你可能感兴趣的:(java,mysql)