天天看點

idea中使用JNDI連接配接池連接配接資料庫使用連接配接池技術連接配接資料庫

使用連接配接池技術連接配接資料庫

1.配置tomcat的config檔案夾下的context.xml

找到context.xml中的<Context></Context>在其中添加如下代碼:

<Context>
	<Resource
		name="jdbc/news"//指定的Resource 的JNDI名字
		auth="Container"//指定管理Resource的Manager,他有兩個可選值:Container和Application。Container表示由容器建立    Resource,Appliction表示由Web應用建立和管理Resource
		type="javax.sql.DataSource"//指定Resource所屬的java類型
		maxActive="100"//指定資料連接配接池中處于活動狀态的資料連接配接的最大數目
		maxIdel="30"//指定資料庫連接配接池中處于空閑狀态的資料庫連接配接的最大數目,取值為0,表示不受限制
		maxWait="1000"//指定資料庫連接配接池中資料連接配接處于空閑狀态的最長時間(以毫秒為機關),超出這一時間将會抛異常
		username="root"//指定連接配接資料庫的使用者名
		password="123456"//指定資料庫連接配接的密碼
		url="jdbc:mysql://localhost:3306/newsmanagersystem?serverTimezone=GMT&amp;useUnicode=true&amp;characterEncoding=UTF-8"//指定連接配接資料庫的URL
		driverClassName="com.mysql.cj.jdbc.Driver"//根據版本寫驅動名\;指定連接配接資料庫的JDBC驅動名程式
	/>
</Context>
           

注:在JNDI中的&符号 用&amp;代替

驅動字元串;(mysql)

com.mysql.cj.jdbc.Driver和jdbc:mysql://localhost:3306/newsmanagersystem?serverTimezone=GMT&amp;useUnicode=true&amp;characterEncoding=UTF-8一起用

com.mysql.jdbc.Driver和jdbc:mysql://localhost:3306/newsmanagersystem?useUnicode=true&amp;characterEncoding=UTF-8一起用

2. 在tomcat的lib檔案夾下放入connector包

idea中使用JNDI連接配接池連接配接資料庫使用連接配接池技術連接配接資料庫

3.配置所建項目WEB-INF下的web.xml

<resource-ref>
	<description>new DataSource</description>//對所引用資源的說明
	<res-ref-name>jdbc/news</res-ref-name>//指定所引用資源的JNDI名字,與<Resource> 元素中的name屬性對應
	<res-type>javax.sql.DataSource</res-type>//指定所引用資源的的類名字,與<Resource> 元素中的type屬性對應
	<res-auth>Container</res-auth>//指定管理所引用資源的Manager,與<Resource> 元素中的auth屬性對應
</resource-ref>
           

4.建立資料庫連接配接

public Connection getConnection(){
	try{
		//初始化參數
		Context ctx = new InitialContext();
		//擷取與邏輯名相連的資料對象(邏輯名:jdbc/news)
		DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/news");
		try{
			Connection conn = ds.getConnection();//建立連接配接
		}catch(SQLException e){
			e.printStackTrace();
		}
	}catch(NamingException e){
		e.printStackTrace();
	}
	return conn;//傳回連接配接
}