以sqlserver为例
1. 首先打开tomcat目录下的
E:\Program Files\Tomcat 7.0\conf\context.xml 文件
增加如下内容
<Resource name="jdbc/myjdbc"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=mydatabase"
username="sa"
password="123456"
maxActive="20"
maxIdle="10"
maxWait="10000"/>
java连接sql server 2008数据库,使用驱动 com.microsoft.sqlserver.jdbc.SQLServerDriver,使用的jdbc jar包是:sqljdbc4.jar
注意:也可以不用修改tomcat下的context文件,直接将context文件放到eclipse项目的META-INF下即可。这种方式比较好,可以随项目走。
属性名称 | 说明 |
name | 指定Resource的JNDI名称 |
auth | 指定管理Resource的Manager(Container:由容器创建和管理|Application:由Web应用创建和管理) |
type | 指定Resource所属的Java类 |
maxActive | 指定连接池中处于活动状态的数据库连接的最大数目 |
maxIdle | 指定连接池中处于空闲状态的数据库连接的最大数目 |
maxWait | 指定连接池中的连接处于空闲的最长时间,超过这个时间会抛出异常,取值为-1,表示可以无限期等待 |
2. 在项目的web.xml中添加如下内容
<resource-ref>
<description>JNDI DataSource</description>
<res-ref-name>jdbc/myjdbc</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
res-ref-name 的名字与jndi的名字相同
3. 在java类中的方法里添加如下语句
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// Look up our data source
DataSource ds = (DataSource)envCtx.lookup("jdbc/myjdbc");//jndi的名字
Connection conn = ds.getConnection();//get connection