以下是详细讲解“Tomeat6.0 连接池数据库配置”的完整攻略:
1. 准备工作
在配置数据库连接池之前,必须先安装并配置好 Tomcat6.0 服务器,并且下载好并安装好数据库驱动程序。
2. 配置数据库连接池
在 Tomcat 的 conf 目录下,有一个名为 context.xml 的配置文件,这是 Tomcat 的上下文配置文件,其中定义了应用程序的环境和资源。在这个文件中,就可以配置数据库连接池。
首先,需要在 context.xml 文件中定义一个 Resource 元素,并配置其属性,包括 jndiName、driverClassName、url、username、password、maxActive、maxIdle、maxWait 等。下面是一个示例:
<Resource name="jdbc/myDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="myuser" password="mypassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"/>
在以上配置中,Resource 元素的 name 属性是 JNDI 名称,这是应用程序引擎和管理器利用 JNDI 访问某个资源的名称。name 属性以 "jdbc/" 开头,然后是连接池名称。
接下来,需要在 web.xml 文件中,添加一个资源引用定义,以便应用程序可以在 JNDI 中找到此资源。示例代码如下:
<resource-ref>
<description>This is a myDB database connection</description>
<res-ref-name>jdbc/myDB</res-ref-name>
<res-type>javax.sqlDataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3. Java 代码中使用数据库连接池
要使用 JNDI 连接到数据库连接池,需要一个 InitialContext 对象,并使用其 lookup 方法查找连接池。以下是一个示例:
InitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup("java:/comp/env/jdbc/myDB");
Connection connection = dataSource.getConnection();
// do database operations with connection
connection.close();
在以上示例中,首先使用 InitialContext 对象查找 jndi 名称,然后使用 DataSource 获取一个数据库连接,并执行数据库操作,最后关闭连接。
只要在 Java 代码中按照以上方法获取数据库连接,就可以使用 Tomcat 的数据库连接池了。
示例1
以下是一个简单的示例,演示了怎样使用 Tomcat 连接到 MySQL 数据库:
<Resource
name="jdbc/mysql"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="5"
maxWait="20000"
username="root"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"/>
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/mysql");
Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM user");
while (resultSet.next()) {
String name = resultSet.getString(1);
int age = resultSet.getInt(2);
System.out.println(name + " is " + age + " years old.");
}
resultSet.close();
statement.close();
connection.close();
示例2
以下是一个简单的示例,演示了怎样使用 Tomcat 连接到 Oracle 数据库:
<Resource
name="jdbc/oracle"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="5"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"/>
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/oracle");
Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM emp");
while (resultSet.next()) {
String name = resultSet.getString(1);
int salary = resultSet.getInt(2);
System.out.println(name + " has a salary of " + salary);
}
resultSet.close();
statement.close();
connection.close();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Tomeat6.0 连接池数据库配置 - Python技术站