calvin-207  
          日歷
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345
          統(tǒng)計(jì)
          • 隨筆 - 0
          • 文章 - 5
          • 評(píng)論 - 1
          • 引用 - 0

          導(dǎo)航

          留言簿

          文章檔案

          搜索

          •  

          最新評(píng)論

           
              今天天氣已經(jīng)轉(zhuǎn)涼了呀!
              明天開始要早點(diǎn)6.30分起床了!不然時(shí)間不夠了。
              今天講的書Tomcat數(shù)據(jù)源。
          傳統(tǒng)的JDBC操作分為四種:
          1.加載去數(shù)據(jù)庫的驅(qū)動(dòng)程序(通過classpath映射找到驅(qū)動(dòng))
          2.通過DriverManage類取得連接對(duì)象(Connection)
          3.通過鏈接取得PreparedStatement對(duì)象,編寫sql操作語句,進(jìn)行crud操作。
          4.數(shù)據(jù)庫操作是屬于資源操作,運(yùn)行完成以后要關(guān)閉自愿。

          今天學(xué)習(xí)的是在tomcat前提下配置的數(shù)據(jù)源,既然是在tomcat那么必然要對(duì)tomcat進(jìn)行配置:

          首先還是要先來解釋下JNDI這個(gè)名詞。
          命名與目錄借口。

          1.拷貝數(shù)據(jù)庫驅(qū)動(dòng)程序到tomcat/comman/lib目錄下。
          2.修改Tomcat的server.xml文件。
          <context·····>
              <Resource name = "jdbc/mldn"  -->>設(shè)置一個(gè)匹配名字,在項(xiàng)目web.xml中要設(shè)置用到。
                              auth = "Container"      -->>這個(gè)一聽是連接池的設(shè)置屬性吧。(有Container 和Application兩個(gè)屬性,一般都選用Container)
                              type = "javax.sql.Datasource"  -->>所有的鏈接池里面的鏈接都要用Datasource獲得,所以一定要讓鏈接指向這個(gè)庫。
                              maxActive = "100"   -->>設(shè)置最大鏈接數(shù)
                              minIdle = "10"  -->>設(shè)置最小保存在鏈接池里面的鏈接數(shù)。
                              maxWait = "10000"   -->>最大等待時(shí)間,如果再等待時(shí)間內(nèi)有鏈接空閑的話就可以繼續(xù)取得連接,但是如果超過這個(gè)時(shí)間的話將對(duì)數(shù)據(jù)庫的操作失                                                           敗。這個(gè)是毫秒數(shù),這個(gè)數(shù)表示為10S
                              username = "root"  --->>鏈接的數(shù)據(jù)庫的用戶名。
                              password = "root123"  -->>數(shù)據(jù)庫用戶的密碼。
                              DriverClassName = ""   -->>驅(qū)動(dòng)程序
                              url = ""  -->>數(shù)據(jù)庫的地址
                          >
              </Resource>
          </context>

          3.修改項(xiàng)目中的web.xml   -->>這個(gè)設(shè)置的主要目的是要讓他讀取到Tomcat中<resource>屬性中的值。
          <resource-ref>
              <description>DB DRIVER</description>  -->>這個(gè)僅僅是描述,可以在程序中取得,現(xiàn)在還體現(xiàn)不到他又什么用。
              <res-ref-name>jdbc/mldn</res-ref-name>    -->>這個(gè)名字跟Tomcat中<resource>屬性中的name匹配的。通過這個(gè)名字找到Tomcat中的配置。
              <res-type>javax.sql.Datasource</res-type>        -->>跟Tomcat中<resource>屬性中的type匹配的。
              <res-auth>Container</res-auth>     -->>跟Tomcat中<resource>屬性中的auth匹配的.
          <resource -ref>
          4.在項(xiàng)目中具體的讀取方式:(取的Connection pool中的鏈接)
              A.初始化名稱,查找上下文。
              B.通過名稱(JNDI)查找Datasource
              C.通過Datasource取得鏈接。
              eg:
              String jndi = "java:comp/env/jdbc/mldn"
              Context ctx = InitialContext();
              Datasource ds = (Datasource) ctx.lookUp(jndi);
              Connection conn = ds.getConnection();

          java:comp/env/這個(gè)是javaee規(guī)范特定的在Tomcat中沒有實(shí)現(xiàn),其他服務(wù)器的話都已經(jīng)實(shí)現(xiàn),換句話說,其他地方只要用server中的name屬性即可。

          posted on 2013-10-27 13:33 木子火勺文武 閱讀(27) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © 木子火勺文武 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 宜宾县| 土默特右旗| 清新县| 涿州市| 鄂尔多斯市| 黄大仙区| 将乐县| 金沙县| 阜城县| 浙江省| 巍山| 塔河县| 龙岩市| 青冈县| 五莲县| 肇庆市| 上杭县| 沾化县| 平陆县| 武邑县| 马尔康县| 白河县| 泌阳县| 邮箱| 北流市| 陈巴尔虎旗| 明水县| 凤冈县| 嘉兴市| 六枝特区| 太和县| 安顺市| 卢龙县| 石狮市| 湛江市| 谷城县| 曲周县| 贡山| 鹤壁市| 渝中区| 迭部县|