网络在线游戏开发心得(服务器端)(三)

发表于:2007-07-04来源:作者:点击数: 标签:
三、数据库连接池 由于没有一个web环境,所以我们需要自己实现一个数据库连接池,apache有一个项目叫做commons DBCP,这是一个基于apache自己的对象池(apache commons pool)实现的数据库连接池,我们可以直接拿来使用,apache的软件未必是最好的,但是极大
三、数据库连接池


  由于没有一个web环境,所以我们需要自己实现一个数据库连接池,apache有一个项目叫做commons DBCP,这是一个基于apache自己的对象池(apache commons pool)实现的数据库连接池,我们可以直接拿来使用,apache的软件未必是最好的,但是极大可能比我们自己写的要好。



Commons DBCP需要三个.jar:



commons-collections-3.1.jar、commons-dbcp-1.2.1.jar、commons-pool-1.2.jar



这三个文件都可以在apache – Jakarta – commons项目下下载,加入到工程中即可。



构造一个数据库连接池的代码如下:



import java.sql.*;

import com.g.net.games.antiLord.util.*;

import org.apache.commons.dbcp.ConnectionFactory;

import org.apache.commons.dbcp.BasicDataSource;

import org.apache.commons.dbcp.DataSourceConnectionFactory;



private static BasicDataSource bds=new BasicDataSource();

private static ConnectionFactory fac=null;



//初始化连接池

bds.setDriverClassName(“org.postgresql.Driver”); //数据库驱动程序

bds.setUrl(“jdbc:postgresql://localhost:5432/myDB”); //数据库url

bds.setUsername(“postgres”); //dba帐号

bds.setPassword(“XXXXXXXX”); //密码

bds.setInitialSize(100); //初始化连接数量

bds.setMaxIdle(10); //最大idle数

bds.setMaxWait(1000*60); //超时回收时间



fac=new DataSourceConnectionFactory(bds); //得到连接工厂



Connection conn=fac.createConnection(); //从池中获得连接



conn.close(); //释放连接,回到池中



//销毁连接池

bds.close();

bds=null;

fac=null;



请自行处理操作中的各种异常。

下一篇:如何随机生成用户的牌

原文转自:http://www.ltesting.net