tomcat连接数据库

在tomcat的安装的目录下找到context.xml,在context节点加入<Resource/>节点

<Context>

    <!-- Default set of monitored resources -->
	<WatchedResource>WEB-INF/web.xml</WatchedResource>

	<!-- Uncomment this to disable session persistence across Tomcat restarts -->
	<!-- <Manager pathname="" /> -->

	<!-- Uncomment this to enable Comet connection tacking (provides events 
		on session expiration as well as webapp lifecycle) -->
	<!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" 
		/> -->
	<Resource 
			name="jdbc/mysql" 
			auth="Container" 
			type="javax.sql.DataSource"
			maxActive="50"
			maxIdle="10" 
			maxWait="5000" 
			username="json"
			password="123456"
			factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
			driverClassName="com.mysql.jdbc.Driver" 
			url="jdbc:mysql://192.168.1.101:3306/study_web" />
</Context>

把连接数据库的jar包放入tomecat人安装目录下lib目录中 输入图片说明

在web项目中找到web.xml,加入如下配置:

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

然后使用如下代码获取DataSource:

package dal;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class TestDB {
	public void getConnection() throws SQLException {
		try {
			Context initCtx = new InitialContext();
			DataSource ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/mysql");
			if (ds != null) {
				System.out.println("已经获取到dataSource");
				Connection conn = null;
				conn = ds.getConnection();
				Statement stmt;
				stmt = conn.createStatement();
				String sql = "select * from user";
				ResultSet rs = stmt.executeQuery(sql);
				rs.next();
				System.out.println(rs.getInt(1));
				System.out.println(rs.getString(2));
				conn.close();
			}
		} catch (NamingException e) {
			e.printStackTrace();
		}
	}
}

转载于:https://my.oschina.net/u/3238650/blog/882392

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值