一 首先我们在Tomcat中容器中引入相应的jdbc
首先我们应该拥有这个jdbc,如果找不到,就去相应的官网download.
mysql-connector-java-3.1.13-bin.jar
将上面的这个jdbc copy到tomcat/lib中去
二 修改tomcat/conf中server.xml
在server.xml中的<GlobalNamingResources>里面配置相应的数据库信息
server.xml:
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<!-- maxActive: Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<!-- maxIdle: Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->
<!-- maxWait: Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<!-- username and password: MySQL dB username and password for dB connections -->
<!-- driverClassName: Class name for the old mm.mysql JDBC driver is
org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
-->
<!-- url: The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="10" maxWait="50"
username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/softrc"/>
</GlobalNamingResources>
三 配置tomcat中的context.xml
在context.xml中的<Context>里面配置下面的信息
context.xml:
<Context>
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource" />
</Context>
四 写个类测试下
package com.shaoguan.test;
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class DBCPConn {
public static Connection getConn() throws Exception{
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
return ds.getConnection();
}
}
五 在jsp中显示写数据来看看数据
这里我测试的jsp名称为:testdbcp.jsp
testdbcp.jsp:
<%
Connection conn = DBCPConn.getConn();
String sql = "select * from user";
PreparedStatement pstmt = DBUtil.prepareStatement(conn, sql );
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt(1));
}
%>库是不是真的连接通了