用jdbc连接mysql数据库(tomcat服务器内置连接池篇)

package cn.lfd.utils;

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 JdbcUtils_tomcat {
	private static DataSource ds;
	
	static{
		try {
			Context initCtx = new InitialContext();
			Context envCtx = (Context) initCtx.lookup("java:comp/env");
			ds = (DataSource)envCtx.lookup("jdbc/testDB");//读取配置文件
		} catch (NamingException e) {
			throw new RuntimeException(e);
		}
	}
	
	//获取连接
	public static Connection getConnection() throws SQLException {
		return ds.getConnection();
	}
	
	//释放资源
	public static void release(Connection conn, Statement st, ResultSet rs) {
		if(conn!=null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				if(st!=null) {
					try {
						st.close();
					} catch (SQLException e) {
						e.printStackTrace();
					}finally{
						if(rs!=null) {
							try {
								rs.close();
							} catch (SQLException e) {
								e.printStackTrace();
							}
						}
					}
				}
			}
		}
	}
}

context.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Resource name="jdbc/testDB"
            auth="Container"
            type="javax.sql.DataSource"
            
            username="root"
            password="root"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/test"
            maxActive="20"
            maxIdle="4"/>
</Context>
注意事项:

1.必须把数据库驱动放在tomcat服务器的lib目录下

2.必须把context.xml文件放置在META-INF目录下

你可能感兴趣的:(apache,tomcat,数据库,服务器,内置连接池)