1.直接JDBC获取

2.采用配置数据源,通过命令服务JNDI获取

针对第一种方式,代码形式如下:

public class DBConnection{
private static String url="jdbc:sqlserver://localhost:1433;databaseName=MailBox";
private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String username="sa";
private static String password="wsh";
private static Connection conn;
 
static{
try {
Class.forName(driver);
} catch (ClassNotFoundException e) { e.printStackTrace(); }
}
public static Connection getconn(){
try {
conn=DriverManager.getConnection(url,username,password);
} catch (SQLException e) { e.printStackTrace(); }
return conn;
}

 

针对第二种方式,以TOMCAT6配置方式为例

第一步,在tomcate/conf/context下面加入以下资源定义标签,包含JNDI命名,授权,类型,数据库驱动类,数据库连接路径,帐号,密码,最大活动数,最小空闲数,最大等待数等信息

<Resource name="jdbc/mydb"
       auth="Container"
       type="javax.sql.DataSource"
       driverClassName="oracle.jdbc.driver.OracleDriver"
       url="jdbc:oracle:thin:@localhost:1521:mydb"
       username="bmgis"
       password="bmgis"
       maxActive="100"
       maxIdle="30"
       maxWait="10000" />

第二步,在web.xml下配置资源定义指定的位置,JNDI名必须与之前定义的JNDI名保持一致!

<resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/mydb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

第三步,调用获取

创建上下文

Context initContext = new InitialContext();

获取数据源

DataSource ds = (DataSource)envContext.lookup("java:/comp/env/jdbc/mydb");

最后获取数据库连接

Connection conn = ds.getConnection();

注:Tomcat5.x,配置数据源方式与TOMCAT6有些不一样!