数据库连接池_第1页
数据库连接池_第2页
数据库连接池_第3页
数据库连接池_第4页
数据库连接池_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,直接连接数据库的情形:public class DBUtil /* * 单例模式创建数据库对象 */private static DBUtil instance=null;private DBUtil()/为了保证单例性,必须使用同步关键字public synchronized static DBUtil getInstance()if(instance=null)instance=new DBUtil();return instance;/连接必要的信息public String driver="com.mysql.jdbc.Driver"public String

2、url="jdbc:mysql:/localhost:3306/test"public String username="root"public String password="8921498YW" public Connection getConnection()Connection conn=null;try Class.forName(driver);conn=DriverManager.getConnection(url, username, password); catch (ClassNotFoundException

3、e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return conn;/测试连接的效率public static void main(String args) throws SQLException long begin=System.currentTimeMillis();/开始时刻for(int i=0;i<1000;i+)/获得1000次连接Connection conn=DBUtil.getInstance().getConnection();conn.close();long end=Sys

4、tem.currentTimeMillis();System.out.println("直接连接数据库所需要的时间:"+(end-begin);/在我的机子上1000次直接连接耗时:120312, 使用DBCP连接池:/* * 数据库连接池: * 它是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态的对池中的连接进行申请,使用,释放 * * DBCP是apache组织下的一个开源项目 * 需要两个jar包,commons-dbcp-1.2.2和commons-pool * 这种连接池效率很高,但经常出现连接丢失现象,用的不是很多,用的多的是c3p0 *

5、 */public class DBUtilOfDBCP private static BasicDataSource dataSource=null;/数据源private static DataSourceConnectionFactory factory;/连接工厂private static DBUtilOfDBCP instance=null;private DBUtilOfDBCP()dataSource=new BasicDataSource();/设置jdbc相关信息dataSource.setUrl(url);dataSource.setUsername(username);

6、dataSource.setPassword(password);dataSource.setDriverClassName(driver);/连接池设置dataSource.setInitialSize(20);/初始连接数dataSource.setMaxActive(100);/最大获取连接数dataSource.setMaxIdle(30);/最大可用空闲连接数dataSource.setMinIdle(10);/最小可用空闲连接数factory=new DataSourceConnectionFactory(dataSource);/为了保证单例性,必须使用同步关键字public s

7、ynchronized static DBUtilOfDBCP getInstance()if(instance=null)instance=new DBUtilOfDBCP();return instance;/连接必要的信息public String driver="com.mysql.jdbc.Driver"public String url="jdbc:mysql:/localhost:3306/test"public String username="root"public String password="892

8、1498YW" public Connection getConnection() throws SQLException/使用工厂创建连接return factory.createConnection();public static void main(String args) throws SQLException long begin=System.currentTimeMillis();/开始时刻for(int i=0;i<1000;i+)/获得1000次连接Connection conn=DBUtilOfDBCP.getInstance().getConnection

9、();conn.close();long end=System.currentTimeMillis();System.out.println("DBCP连接数据库所需要的时间:"+(end-begin);/在我的机子上1000次DBCP连接耗时:1000毫秒3,使用C3P0连接池:* C3P0,比较稳定 * 需要jar包:c3p0-0.9.1public class DBUtilOfC3P0 private static ComboPooledDataSource dataSource;private static DBUtilOfC3P0 instance=null;pr

10、ivate DBUtilOfC3P0()dataSource=new ComboPooledDataSource();/设置jdbc连接信息dataSource.setUser(username);dataSource.setPassword(password);dataSource.setJdbcUrl(url);try dataSource.setDriverClass(driver); catch (PropertyVetoException e) e.printStackTrace();/设置连接池dataSource.setInitialPoolSize(30);dataSource

11、.setMaxPoolSize(100);dataSource.setMinPoolSize(10);/为了保证单例性,必须使用同步关键字public synchronized static DBUtilOfC3P0 getInstance()if(instance=null)instance=new DBUtilOfC3P0();return instance;/连接必要的信息public String driver="com.mysql.jdbc.Driver"public String url="jdbc:mysql:/localhost:3306/test

12、"public String username="root"public String password="8921498YW" public Connection getConnection() throws SQLException/使用工厂创建连接return dataSource.getConnection();public static void main(String args) throws SQLException long begin=System.currentTimeMillis();/开始时刻for(int i=0;i<1000;i+)/获得1000次连接Conne

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论