數據源連接數據庫配置相關xml文件


學完數據源連接數據后,做個筆記,當我們的程序對數據庫訪問頻繁時,為了提高程序運行效率,我們可以通過

數據源連接數據庫,從數據庫連接池中直接取得出於空閑狀態的數據庫連接對象,以下是相關xml文件的配置:

 

1、 定義數據源。

數據源是JNDI(Java Naming and Directory Interface)資源的一種,下面開始定義數據源

在對應的JavaWeb項目下的META-INF目錄下創建一個context.xml文件,

以下為context.xml文件內容及各屬性說明。

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <Context>
 3 
 4 <!-- 定義數據源-->
 5 
 6 <!-- 
 7     name:指定Resource的JNDI名字
 8     auth:指定管理Resource的Manager,有兩個可選值,Container表示由容器來創建和管理Resource
 9          Application表示由Web應用來創建和管理Resource
10     type:指定Resource所屬的Java類名
11     
12     username:數據庫用戶名  password:連接數據庫的口令
13     driverClassName:指定連接數據庫的JDBC驅動器中的Driver實現類的名字
14     url:指定數據庫的URL
15 
16 注意:如果url中用到useSSL=true/false,則需要在所有的'&'后面加上"amp;"如下
17  -->
18     <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource"
19         username="root" 
20         password="Cz123"
21         driverClassName="com.mysql.jdbc.Driver"
22         url="jdbc:mysql://localhost:3306/Books?characterEncoding=utf8&amp;useSSL=true"/>
23 
24 </Context>

 

1、 聲明JNDI資源的引用

如果Web應用訪問了由Servlet容器管理的某個JNDI資源,那么必須在web.xml文件中注冊中聲明對這個JNDI資源的引用。在項目下的WEB-INF目錄下創建web.xml文件

內容及各屬性說明如下:

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 4   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 6                       http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 7   version="3.1"
 8   metadata-complete="true">
 9 
10   <display-name>Tomcat Manager Application</display-name>
11   <description>
12     A scriptable management web application for the Tomcat Web Server;
13     Manager lets you view, load/unload/etc particular web applications.
14   </description>
15   
16    <!-- 聲明引用數據源 -->
17   <!-- 
18       <res-ref-name>:指定所引用資源的JNDI名字,與定義的數據源的<Resource>元素中的name屬性對應
19       <res-type>:指定所引用資源的類名字,與定義的數據源的<Resource>元素中的name屬性對應
20       <res-auth>:指定管理所引用資源的Manager,與定義的數據源的<Resource>元素中的auth屬性對應
21    -->
22   <resource-ref>
23       <description>DB Connection</description>
24       <res-ref-name>jdbc/BookDB</res-ref-name>
25       <res-type>javax.sql.DataSource</res-type>
26       <res-auth>Container</res-auth>
27   </resource-ref>
28 
29 </web-app>

 

取得數據庫連接:javax.naming.Context ctx = InitialContext();    //取得Context對象

        //調用context對象的lookup方法,通過引用資源的name獲得數據源對象

        //因為筆者用的是Tomcat服務器,所有要在name前面加上java:comp/env(固定格式)

                             javax.sql.DataSource ds = ctx.lookup(“java:comp/env/jdbc/BookDB”);    

         //通過數據源,獲得數據庫連接對象

        Connection con = ds.getConnection();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM