第六章數(shù)據(jù)庫連接池及其他ORM技術_第1頁
第六章數(shù)據(jù)庫連接池及其他ORM技術_第2頁
第六章數(shù)據(jù)庫連接池及其他ORM技術_第3頁
第六章數(shù)據(jù)庫連接池及其他ORM技術_第4頁
第六章數(shù)據(jù)庫連接池及其他ORM技術_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第六章 JNDI及其他持久化技術上節(jié)回顧 Hibernate 實體基本映射 基本映射 聯(lián)合主鍵映射方式 Hibernate 對象關系映射 一對一單雙向關聯(lián) 一對多單雙向關聯(lián) 多對多單雙向關聯(lián) 組合關系映射 繼承關系映射 集合關系映射本節(jié)內容 JNDI概述 連接池及JNDI的應用 ibatis的基本配置本講目標 連接池及JNDI的應用 ibatis的基本使用JNDI介紹 什么是JNDIJNDI JNDIJNDI(Java Naming and Directory InterfaceJava Naming and Directory Interface,JavaJava命名和目錄接口) 是一組在J

2、avaJava應用中訪問命名和目錄服務的APIAPI 通過名稱將資源與服務進行關聯(lián)JNDI的簡單應用 應用步驟 修改Tomcatconfcontext.xmlTomcatconfcontext.xml文件 使用lookup()lookup()進行查找 /javax.naming.Context提供了查找提供了查找JNDI 的接口的接口Context ctx = new InitialContext();/java:comp/env/為前綴為前綴String testjndi = (String)ctx.lookup(java:comp/env/tjndi);out.println(JNDI:

3、+testjndi);初始化初始化Context對象對象調用調用lookup()方法方法JNDI查找的名稱查找的名稱生活中的連接池 普通電話 -建立連接,等待回應 熱線電話 -已建立連接連接連接已連接已連接開始通話開始通話開始通話開始通話已連接,直接通話已連接,直接通話連接中連接中 傳統(tǒng)數(shù)據(jù)庫連接方式的不足 每一次請求時均需要與數(shù)據(jù)庫進行連接,資源占用較多 當并發(fā)訪問數(shù)量較大時,網(wǎng)站速度收到極大影響 在訪問結束后必須要關閉連接釋放資源 系統(tǒng)的安全性和穩(wěn)定性相對較差為什么使用連接池為什么使用連接池 企業(yè)級開發(fā)需要穩(wěn)健和高效的數(shù)據(jù)訪問層 完成對數(shù)據(jù)庫的CRUDCRUD操作 能夠處理數(shù)據(jù)庫發(fā)生的各種

4、錯誤 可以靈活的修改配置 提供方便使用的工具 高性能請求請求響應響應操作操作結果結果要求高效、穩(wěn)健的數(shù)據(jù)訪問層要求高效、穩(wěn)健的數(shù)據(jù)訪問層打開連接,操作數(shù)打開連接,操作數(shù)據(jù)庫,關閉連接據(jù)庫,關閉連接多次重復操作多次重復操作傳統(tǒng)的傳統(tǒng)的JDBC已經(jīng)已經(jīng)無法滿足需求,那無法滿足需求,那怎么辦呢?怎么辦呢?什么是連接池技術 連接池 連接池是在內存中預設好一定數(shù)量的連接對象,以備用戶在進行數(shù)據(jù)庫操作時直接使用 性能 數(shù)據(jù)庫連接的建立、斷開均由管理池統(tǒng)一管理 連接池技術與傳統(tǒng)數(shù)據(jù)庫連接的比較 數(shù)據(jù)庫操作性能得到提升 通過連接池管理數(shù)據(jù)庫的連接與釋放、提高了系統(tǒng)資源的使用效率連接池技術工作原理 連接池中的連

5、接想要獲得連接想要獲得連接返回一個連接返回一個連接返回一個已連接返回一個已連接好的空閑連接好的空閑連接應用程序從連接池中獲得連接應用程序從連接池中獲得連接連接池是由容器提供的,連接池是由容器提供的,用來管理池中連接對象用來管理池中連接對象應用程序應用程序連接池連接池Connection1Connection2Connection3數(shù)據(jù)源簡介 數(shù)據(jù)源(DataSourceDataSource) javax.sql.DataSourcejavax.sql.DataSource接口負責建立與數(shù)據(jù)庫的連接 從TomcatTomcat的數(shù)據(jù)源獲得連接 把連接保存在連接池中應用程序應用程序Connecti

6、on1Connection2Connection3想要獲得連接想要獲得連接返回一個連接返回一個連接連接池連接池連接池中的連接對象連接池中的連接對象是由誰創(chuàng)建的呢?是由誰創(chuàng)建的呢?訪問數(shù)據(jù)源 如何獲得DataSourceDataSource對象 數(shù)據(jù)源由TomcatTomcat提供,不能在程序中創(chuàng)建實例 使用JNDIJNDI獲得DataSourceDataSource引用應用程序應用程序jdbc/s1jdbc/s2數(shù)據(jù)源數(shù)據(jù)源數(shù)據(jù)源名稱數(shù)據(jù)源名稱Connectioncontext.lookup( jdbc/s1 ) import javax.naming.Context;import javax

7、.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;public class TitlesBean public List getTitles() try Context ic = new InitialContext(); DataSource source = (DataSource)ic.lookup(java:comp/env/jdbc/news); Connection connection = source.getConnection(); titlesQuer

8、y = connection.prepareStatement(SELECT * FROM titles ); ResultSet results = titlesQuery.executeQuery(); /為為BookBean對象的屬性賦值對象的屬性賦值, ,并添加到并添加到titlesList中中 catch (SQLException exception) exception.printStackTrace(); catch (NamingException namingException) namingException.printStackTrace(); finally clos

9、eConn(); 使用使用JNDI和數(shù)和數(shù)據(jù)源要導入的包據(jù)源要導入的包通過通過Context、DataSource獲取獲取Connection對象對象分為兩部分分為兩部分java:comp/env為為JavaEE默認路徑默認路徑jdbc/news為為DataSource名名定義定義JNDI異常異常訪問數(shù)據(jù)源訪問數(shù)據(jù)源 TomcatTomcat的conf/context.xmlconf/context.xml中的配置 訪問數(shù)據(jù)源 加入數(shù)據(jù)庫驅動文件 把數(shù)據(jù)庫驅動的.jar.jar文件,加入到TomcatTomcat的commonlibcommonlib中 應用程序的web.xmlweb.xml文件的配置(6.06.0以上版本不用配) 在web.xmlweb.xml中配置 jdbc/news javax.sql.DataSource Container 指定指定JNDI的名字,與的名字,與元素中的元素中的name一致一致指定引用資源的類名,與指定引用資源的類名,與元素中的元素中的type一致一致指定管理所引用資源的指定管理所引用資源的Manager與與元素中的元素中的auth一致一致總結

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論