博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Apache的DBCP建立独立于Web的数据库连接池配置
阅读量:7014 次
发布时间:2019-06-28

本文共 2723 字,大约阅读时间需要 9 分钟。

hot3.png

当我们的Web应用是独立运行的,不需要web服务器的支持时,我们想应用数据库连接池,可以使用独立的数据库连接池方案,Apache的DBCP就是其中一种,配置步骤如下:

步骤一、下载必需的三个jar包

commons-dbcp2-2.2.0.jarcommons-logging-1.2.jarcommons-pool2-2.5.0.jar

步骤二、创建基于DBCP方式的数据库连接池公共类

package com.drathin.dbpool;import java.sql.*;import java.util.Properties;import org.apache.commons.dbcp2.BasicDataSource;import org.apache.commons.dbcp2.BasicDataSourceFactory;import org.apache.tomcat.jdbc.pool.DataSource;public class DbcpPool {	private static BasicDataSource dataSource = null;		public DbcpPool(){			}		//初始化数据库连接池	public static void init(){		if(dataSource != null){			try{				dataSource.close();			}catch(Exception e){				e.printStackTrace();			}			dataSource = null;		}				//使用properties对象定义数据库连接池信息		try{			Properties p = new Properties();			p.setProperty("driverClassName", "com.mysql.jdbc.Driver");			p.setProperty("url","jdbc:mysql://localhost:3306/maiba");			p.setProperty("username","root");			p.setProperty("password","root");			p.setProperty("maxActive","30");			p.setProperty("maxIdle","10");			p.setProperty("maxWait","1000");			p.setProperty("removeAbandoned","false");			p.setProperty("removeAbandonedTimeout","120");			p.setProperty("testOnBorrow","true");			p.setProperty("logAbandoned","true");			dataSource = (BasicDataSource)BasicDataSourceFactory.createDataSource(p);		}catch(Exception e){			e.printStackTrace();		}	}		//从连接池中获取连接	public static synchronized Connection getConnection() throws SQLException{		if(dataSource == null){			init();		}		Connection conn = null;		if(dataSource != null){			conn = dataSource.getConnection();		}		return conn;	}}

步骤三、测试页面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"    import="com.drathin.dbpool.*"    import="java.sql.*"    %>
独立于web服务器的数据库连接池
<% Connection conn = DbcpPool.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from user"); while(rs.next()){ %>
<% %>
<% %>
<% %>
<% %>
<% } conn.close();%>
I D <%=rs.getInt("id") %>
账 户 <%=rs.getString("account") %>
密 码 <%=rs.getString("password") %>
昵 称 <%=rs.getString("user_name") %>
邮 箱 <%=rs.getString("email") %>

 

附带数据库:

CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `account` varchar(255) DEFAULT NULL,  `password` varchar(255) DEFAULT NULL,  `user_name` varchar(255) DEFAULT NULL,  `email` varchar(255) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;INSERT INTO `user` VALUES ('1', 'drathin', '123456', 'Drathin', 'v2v3chen@qq.com');

 

转载于:https://my.oschina.net/drathin/blog/1803341

你可能感兴趣的文章
Nginx服务器
查看>>
7月技术指标
查看>>
各个数据库的扩展名/格式/后缀
查看>>
入门一班 20181015 shell 特殊命令
查看>>
PowerShell提示:“无法加载文件ps1,因为在此系统中禁止执行脚本”的解决访求...
查看>>
springmvc - SqlSessionFactoryBean
查看>>
springmvc - 文件上传
查看>>
过完节上班第一天补习下2019年5月3日开始学习的Linux课程
查看>>
vi 命令
查看>>
JMX in action第二篇
查看>>
006-统一沟通-部署-基础-环境
查看>>
大金空调自动关机常见四种原因
查看>>
solr5.5安装
查看>>
【CSS】CSS垂直居中:父层宽高不固定子层固定 和 父层宽高固定子层不固定
查看>>
逆向思维 寻找适合seo推广的产品
查看>>
C/C++入门易错点及常用小技巧
查看>>
2019年大数据发展将走向何方
查看>>
安装hcl时遇到的问题
查看>>
My Space:一个时代的终结
查看>>
smobiler介绍(一)
查看>>