從網上找到的第一個struts連接數據庫的例子是在struts的config文件里面配置數據源的,即struts數據源管理器,結果用1.2的struts怎么都弄不好,為了這個問題費盡了周折,今天總算在struts的文檔中找到了答案。看來以后學習新東西還是要從英文文檔入手-_-
理論上,商務羅基層應該包含數據鏈接的描述,包括數據庫鏈接。但是一些早期的程序員習慣于在調用(caller)中包含數據庫鏈接或者數據源實例。當你需要使用繼承的設計時,struts數據源管理器可以在你使你的action類能夠在你需要的時候生成這樣的數據源。
注意:默認情況下數據庫鏈接是直接由商務邏輯的類來控制的,一般通過JNDI。struts數據源管理器應當僅由那些沒有獨立數據鏈接的業務邏輯的類繼承得到。如果可能,極力推薦使用標準的DAO模式,這樣業務邏輯層不需要知道任何數據庫的細節。數據源管理器在struts1.x中仍然保留并向下兼容,但是在后續版本中可能不再被支持。
?
這還不是問題的關鍵,如果要用數據庫管理器,需要手動下載dbcp's BasicDataSource Commons DBCP.
并且1.2版本之后為了更好的配合BasicDataSource插件和別的數據庫的執行,先前版本的struts通用數據源被移除了,這就是為什么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" />
最后面那一行不是必需的,但是如果寫上的話返回的結果及至少要有一條記錄!
mysql的jdbc也可以寫成org.gjt.mm.mysql.Driver這樣子。
從網上找到的第一個struts連接數據庫的例子是在struts的config文件里面配置數據源的,即struts數據源管理器,結果用1.2的struts怎么都弄不好,為了這個問題費盡了周折,今天總算在struts的文檔中找到了答案。看來以后學習新東西還是要從英文文檔入手-_-
理論上,商務羅基層應該包含數據鏈接的描述,包括數據庫鏈接。但是一些早期的程序員習慣于在調用(caller)中包含數據庫鏈接或者數據源實例。當你需要使用繼承的設計時,struts數據源管理器可以在你使你的action類能夠在你需要的時候生成這樣的數據源。
注意:默認情況下數據庫鏈接是直接由商務邏輯的類來控制的,一般通過JNDI。struts數據源管理器應當僅由那些沒有獨立數據鏈接的業務邏輯的類繼承得到。如果可能,極力推薦使用標準的DAO模式,這樣業務邏輯層不需要知道任何數據庫的細節。數據源管理器在struts1.x中仍然保留并向下兼容,但是在后續版本中可能不再被支持。
?
這還不是問題的關鍵,如果要用數據庫管理器,需要手動下載dbcp's BasicDataSource Commons DBCP.
并且1.2版本之后為了更好的配合BasicDataSource插件和別的數據庫的執行,先前版本的struts通用數據源被移除了,這就是為什么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" />
最后面那一行不是必需的,但是如果寫上的話返回的結果及至少要有一條記錄!
mysql的jdbc也可以寫成org.gjt.mm.mysql.Driver這樣子。
]]>
posted on 2005-09-19 16:28
Sung 閱讀(591)
評論(0) 編輯 收藏 所屬分類:
Struts