Sung in Blog

                     一些技術(shù)文章 & 一些生活雜碎

          從網(wǎng)上找到的第一個struts連接數(shù)據(jù)庫的例子是在struts的config文件里面配置數(shù)據(jù)源的,即struts數(shù)據(jù)源管理器,結(jié)果用1.2的struts怎么都弄不好,為了這個問題費(fèi)盡了周折,今天總算在struts的文檔中找到了答案。看來以后學(xué)習(xí)新東西還是要從英文文檔入手-_-


          理論上,商務(wù)羅基層應(yīng)該包含數(shù)據(jù)鏈接的描述,包括數(shù)據(jù)庫鏈接。但是一些早期的程序員習(xí)慣于在調(diào)用(caller)中包含數(shù)據(jù)庫鏈接或者數(shù)據(jù)源實(shí)例。當(dāng)你需要使用繼承的設(shè)計(jì)時,struts數(shù)據(jù)源管理器可以在你使你的action類能夠在你需要的時候生成這樣的數(shù)據(jù)源。


          注意:默認(rèn)情況下數(shù)據(jù)庫鏈接是直接由商務(wù)邏輯的類來控制的,一般通過JNDI。struts數(shù)據(jù)源管理器應(yīng)當(dāng)僅由那些沒有獨(dú)立數(shù)據(jù)鏈接的業(yè)務(wù)邏輯的類繼承得到。如果可能,極力推薦使用標(biāo)準(zhǔn)的DAO模式,這樣業(yè)務(wù)邏輯層不需要知道任何數(shù)據(jù)庫的細(xì)節(jié)。數(shù)據(jù)源管理器在struts1.x中仍然保留并向下兼容,但是在后續(xù)版本中可能不再被支持。


          ?

          這還不是問題的關(guān)鍵,如果要用數(shù)據(jù)庫管理器,需要手動下載dbcp's BasicDataSource Commons DBCP.


          并且1.2版本之后為了更好的配合BasicDataSource插件和別的數(shù)據(jù)庫的執(zhí)行,先前版本的struts通用數(shù)據(jù)源被移除了,這就是為什么1.2的lib里面沒有struts-legacy.jar這個文件的原因了。


          以下是我成功的配置信息:





          ??? ????? property="driverClassName"
          ????? value="com.mysql.jdbc.Driver" />
          ??? ????? property="url"
          ????? value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
          ??? ????? property="username"
          ????? value="root" />
          ??? ????? property="password"
          ????? value="yourpass" />
          ??? ????? property="maxActive"
          ????? value="10" />
          ??? ????? property="maxWait"
          ????? value="5000" />
          ??? ????? property="defaultAutoCommit"
          ????? value="false" />
          ??? ????? property="defaultReadOnly"
          ????? value="false" />
          ??? ????? property="validationQuery"
          ????? value="SELECT COUNT(*) FROM db" />


          最后面那一行不是必需的,但是如果寫上的話返回的結(jié)果及至少要有一條記錄!


          mysql的jdbc也可以寫成org.gjt.mm.mysql.Driver這樣子。

          從網(wǎng)上找到的第一個struts連接數(shù)據(jù)庫的例子是在struts的config文件里面配置數(shù)據(jù)源的,即struts數(shù)據(jù)源管理器,結(jié)果用1.2的struts怎么都弄不好,為了這個問題費(fèi)盡了周折,今天總算在struts的文檔中找到了答案。看來以后學(xué)習(xí)新東西還是要從英文文檔入手-_-


          理論上,商務(wù)羅基層應(yīng)該包含數(shù)據(jù)鏈接的描述,包括數(shù)據(jù)庫鏈接。但是一些早期的程序員習(xí)慣于在調(diào)用(caller)中包含數(shù)據(jù)庫鏈接或者數(shù)據(jù)源實(shí)例。當(dāng)你需要使用繼承的設(shè)計(jì)時,struts數(shù)據(jù)源管理器可以在你使你的action類能夠在你需要的時候生成這樣的數(shù)據(jù)源。


          注意:默認(rèn)情況下數(shù)據(jù)庫鏈接是直接由商務(wù)邏輯的類來控制的,一般通過JNDI。struts數(shù)據(jù)源管理器應(yīng)當(dāng)僅由那些沒有獨(dú)立數(shù)據(jù)鏈接的業(yè)務(wù)邏輯的類繼承得到。如果可能,極力推薦使用標(biāo)準(zhǔn)的DAO模式,這樣業(yè)務(wù)邏輯層不需要知道任何數(shù)據(jù)庫的細(xì)節(jié)。數(shù)據(jù)源管理器在struts1.x中仍然保留并向下兼容,但是在后續(xù)版本中可能不再被支持。


          ?

          這還不是問題的關(guān)鍵,如果要用數(shù)據(jù)庫管理器,需要手動下載dbcp's BasicDataSource Commons DBCP.


          并且1.2版本之后為了更好的配合BasicDataSource插件和別的數(shù)據(jù)庫的執(zhí)行,先前版本的struts通用數(shù)據(jù)源被移除了,這就是為什么1.2的lib里面沒有struts-legacy.jar這個文件的原因了。


          以下是我成功的配置信息:





          ??? ????? property="driverClassName"
          ????? value="com.mysql.jdbc.Driver" />
          ??? ????? property="url"
          ????? value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
          ??? ????? property="username"
          ????? value="root" />
          ??? ????? property="password"
          ????? value="yourpass" />
          ??? ????? property="maxActive"
          ????? value="10" />
          ??? ????? property="maxWait"
          ????? value="5000" />
          ??? ????? property="defaultAutoCommit"
          ????? value="false" />
          ??? ????? property="defaultReadOnly"
          ????? value="false" />
          ??? ????? property="validationQuery"
          ????? value="SELECT COUNT(*) FROM db" />


          最后面那一行不是必需的,但是如果寫上的話返回的結(jié)果及至少要有一條記錄!


          mysql的jdbc也可以寫成org.gjt.mm.mysql.Driver這樣子。

          ]]>
          posted on 2005-09-19 16:28 Sung 閱讀(592) 評論(0)  編輯  收藏 所屬分類: Struts
          主站蜘蛛池模板: 灯塔市| 阿拉善右旗| 凌云县| 五指山市| 梁河县| 土默特右旗| 石嘴山市| 花莲市| 彭阳县| 七台河市| 东宁县| 新民市| 西和县| 清镇市| 安徽省| 林西县| 绥江县| 岑溪市| 晋中市| 晴隆县| 庆元县| 祁阳县| 海兴县| 余江县| 安国市| 新郑市| 南华县| 山丹县| 鄂托克旗| 南安市| 甘洛县| 申扎县| 棋牌| 长白| 达日县| 新竹市| 洪洞县| 新平| 阳高县| 邮箱| 岚皋县|