前些天我也写过一篇类似的文章,关于连接池配置的,今天我重新写过一篇,介绍不同的配置方法
环境搭建我就不多说了
我的环境是
xp + jdk1.5 + tomcat5.5.23 + eclipse3.2.2 + myeclipse5.1.1GA + sqlserver2000
首先写个连接数据源的java类
SqlTestDS.java
package
database
;
import javax . sql . DataSource ;
import javax . naming .*;
import java . sql .*;
public class SqlTestDS {
private static DataSource ds = null ;
static {
init () ;
}
private static void init () {
try {
// 1、创建命名服务环境
Context ctx = new InitialContext () ;
if ( ctx == null )
throw new Exception ( " No Context " ) ;
// 2、从JNDI中查询数据源对象
ds = ( DataSource ) ctx . lookup ( " java:comp/env/jdbc/sqlserver " ) ;
} catch ( Exception e ) {
e . printStackTrace () ;
}
}
// 将构造函数定义为private权限是为了保证全局只有一个SqlTestDS实例
// 也就是实现了单例模式
private SqlTestDS () {
}
public static Connection getConnection () throws SQLException {
if ( ds == null ) {
throw new SQLException ( " 数据源对象为空! " ) ;
} else {
// 3、从数据源中获取数据库连接
return ds . getConnection () ;
}
}
}
import javax . sql . DataSource ;
import javax . naming .*;
import java . sql .*;
public class SqlTestDS {
private static DataSource ds = null ;
static {
init () ;
}
private static void init () {
try {
// 1、创建命名服务环境
Context ctx = new InitialContext () ;
if ( ctx == null )
throw new Exception ( " No Context " ) ;
// 2、从JNDI中查询数据源对象
ds = ( DataSource ) ctx . lookup ( " java:comp/env/jdbc/sqlserver " ) ;
} catch ( Exception e ) {
e . printStackTrace () ;
}
}
// 将构造函数定义为private权限是为了保证全局只有一个SqlTestDS实例
// 也就是实现了单例模式
private SqlTestDS () {
}
public static Connection getConnection () throws SQLException {
if ( ds == null ) {
throw new SQLException ( " 数据源对象为空! " ) ;
} else {
// 3、从数据源中获取数据库连接
return ds . getConnection () ;
}
}
}