欢迎来到天天文库
浏览记录
ID:59298197
大小:30.50 KB
页数:5页
时间:2020-09-06
《数据库连接池.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1,直接连接数据库的情形:publicclassDBUtil{/***单例模式创建数据库对象*/privatestaticDBUtilinstance=null;privateDBUtil(){}//为了保证单例性,必须使用同步关键字publicsynchronizedstaticDBUtilgetInstance(){if(instance==null)instance=newDBUtil();returninstance;}//连接必要的信息publicStringdriver="com.mysql.jdbc.Driver";publicString
2、url="jdbc:mysql://localhost:3306/test";publicStringusername="root";publicStringpassword="8921498YW";publicConnectiongetConnection(){Connectionconn=null;try{Class.forName(driver);conn=DriverManager.getConnection(url,username,password);}catch(ClassNotFoundExceptione){e.printStackTr
3、ace();}catch(SQLExceptione){e.printStackTrace();}returnconn;}//测试连接的效率publicstaticvoidmain(String[]args)throwsSQLException{longbegin=System.currentTimeMillis();//开始时刻for(inti=0;i<1000;i++){//获得1000次连接Connectionconn=DBUtil.getInstance().getConnection();conn.close();}longend=System
4、.currentTimeMillis();System.out.println("直接连接数据库所需要的时间:"+(end-begin));//在我的机子上1000次直接连接耗时:12031}}2,使用DBCP连接池:/***数据库连接池:*它是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态的对池中的连接进行申请,使用,释放**DBCP是apache组织下的一个开源项目*需要两个jar包,commons-dbcp-1.2.2和commons-pool*这种连接池效率很高,但经常出现连接丢失现象,用的不是很多,用的多的是c3p0**
5、/publicclassDBUtilOfDBCP{privatestaticBasicDataSourcedataSource=null;//数据源privatestaticDataSourceConnectionFactoryfactory;//连接工厂privatestaticDBUtilOfDBCPinstance=null;privateDBUtilOfDBCP(){dataSource=newBasicDataSource();//设置jdbc相关信息dataSource.setUrl(url);dataSource.setUsername(u
6、sername);dataSource.setPassword(password);dataSource.setDriverClassName(driver);//连接池设置dataSource.setInitialSize(20);//初始连接数dataSource.setMaxActive(100);//最大获取连接数dataSource.setMaxIdle(30);//最大可用空闲连接数dataSource.setMinIdle(10);//最小可用空闲连接数factory=newDataSourceConnectionFactory(dataS
7、ource);}//为了保证单例性,必须使用同步关键字publicsynchronizedstaticDBUtilOfDBCPgetInstance(){if(instance==null)instance=newDBUtilOfDBCP();returninstance;}//连接必要的信息publicStringdriver="com.mysql.jdbc.Driver";publicStringurl="jdbc:mysql://localhost:3306/test";publicStringusername="root";publicStrin
8、gpassword="8921498YW";publicConnectionge
此文档下载收益归作者所有