tomcat鏈接數據庫,提升程序的可移植性。

import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBUtil {

	/**
	 * 在tomcat的server.xml中配置datasource
* /
	 <Context path="/vote" docBase="D:\tomcat6.0.13\vote\WebRoot"   crossContext="true" reloadable="true" debug="1">
		  <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="root" password="123456" driverClassName="org.gjt.mm.mysql.Driver"
               url="jdbc:mysql://localhost:3306/vote?characterEncoding=UTF-8"/>
		</Context>
	 
	 */
	private static DataSource ds = null;
	private Connection conn; 
	public Connection getConnection () throws Exception{
		try {
			if (ds == null) {
				initDS();
			}
			conn = ds.getConnection();
			conn.setAutoCommit(false);
			return conn ;
		} catch (SQLException e) {
			e.printStackTrace();
			throw e;
		}	 
	}
	//經過jndi獲取ds
	private  void initDS () throws Exception {
		try {
			Context initContext = new InitialContext ();
			Context envContext= (Context) initContext.lookup("java:/comp/env");
			ds = (DataSource) envContext.lookup("jdbc/MySQL");
			//return ds ;		
		}catch (NamingException e){
			e.printStackTrace();
		}catch (ClassCastException e2){
			e2.printStackTrace();
		}	
	}
}
相關文章
相關標籤/搜索