從網(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這個文件的原因了。
以下是我成功的配置信息:
???
????? value="com.mysql.jdbc.Driver" />
???
????? value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
???
????? value="root" />
???
????? value="yourpass" />
???
????? value="10" />
???
????? value="5000" />
???
????? value="false" />
???
????? value="false" />
???
????? 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這個文件的原因了。
以下是我成功的配置信息:
???
????? value="com.mysql.jdbc.Driver" />
???
????? value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
???
????? value="root" />
???
????? value="yourpass" />
???
????? value="10" />
???
????? value="5000" />
???
????? value="false" />
???
????? value="false" />
???
????? value="SELECT COUNT(*) FROM db" />
最后面那一行不是必需的,但是如果寫上的話返回的結(jié)果及至少要有一條記錄!
mysql的jdbc也可以寫成org.gjt.mm.mysql.Driver這樣子。
]]>