將5.0部署到myeclipse6.5+mysql5.0+Tomcat6.0上的步驟:
============================================================================================================
step1:新建項目jpetstore5.0。建議使用JavaEE5、jdk高版本,至少要支持泛型。原因:不用它們不舒服。
============================================================================================================
step2:
解壓下載的JPetStore-5.0.zip ,復制src下的包com、properties到新建的項目jpetstore5.0的src目錄下,自然,復制的是包以及包中所有的文件,不僅僅只是包名。
即然使用的是MySQL,MySQL的驅動要加載的。將mysql-connector-java-5.0.5-bin.jar復制到Tomcat6.0 的lib下,省的每次都配置。
============================================================================================================
step3:
修改properties/database.properties文件如下:
####################################
# Database Connectivity Properties
####################################
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jpetstore
username=root
password=root
用戶名和密碼是自己的MySQL配置。
src目錄下應該還有ddl這個包吧,這個包里的文件是建表語句,既然使用的是MySQL那就要需要手工創建數據源database。表和導入實驗數據可以使用程序自動執行(暫不介紹)。
在新建的項目jpetstore5.0的src目錄下新建包ddl,拷貝解壓包中src/ddl/mysql中所有的文件。
到MySQL的命令提示符下分別運行這三個文件:
mysql -uroot –p < jpetstore-mysql-schema.sql
mysql -uroot –p < jpetstore-mysql-dataload.sql
mysql -uroot –p < jpetstore-mysql-create-user.sql
以上三個文件分別是創建數據庫JPetStore,導入數據,分配權限。如果你安裝了MySQL的管理工具,也可以在管理工具下運行這三個文件。
事實上,這個示例代碼支持好幾種數據源的配置方案,你若是step3不做,項目有時也是可以正常運行的,前提是你裝的hsql數據庫。在src.com.ibatis.jpetstore.persistence.DaoConfig中有建表語句,使用的是hsql數據庫。當然如果你和我一樣,想清楚jpetstore5.0的每一個細節的話,建議修改DaoConfig代碼如下:
------------START-----------
static {
try {
daoManager = newDaoManager(null);
Properties props = Resources.getResourceAsProperties("properties/database.properties");
String url = props.getProperty("url");
String driver = props.getProperty("driver");
String username = props.getProperty("username");
String password = props.getProperty("password");
//如果url為MySQL的,執行MySQL的建表語句..
if (url.equals("jdbc:mysql://localhost:3306/jpetstore")) {
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url, username, password);
try {
ScriptRunner runner = new ScriptRunner(conn, false, false);
runner.setErrorLogWriter(null);
runner.setLogWriter(null);
runner.runScript(Resources.getResourceAsReader("ddl/jpetstore-mysql-schema.sql"));//建表
runner.runScript(Resources.getResourceAsReader("ddl/jpetstore-mysql-dataload.sql"));//輸入實驗數據
runner.runScript(Resources.getResourceAsReader("ddl/jpetstore-mysql-create-user.sql"));//權限
} finally {
conn.close();
}
}
} catch (Exception e) {
throw new RuntimeException("Description. Cause: " + e, e);
}
}
----------------END-----------------
仔細研究下ddl會發現,沒有建database的語句,可是程序又在使用。這個原因很簡單:一個項目建好后,數據源database一般不需要改動,可是建表語句和初始化數據的語句確是要經常改動的。自然為了方便管理,建database的ddl語句也應該保存下來。
--------------------------------------
做完上面三步,src目錄下的文件就算是全了。當然有個小bug,修改item.xml文件相應的信息為:
I.ITEMID AS itemId,
LISTPRICE AS listPrice,
UNITCOST AS unitCost,
原因:1、表的字段查詢結果沒有使用別名。
2、多表查詢,沒有指定表的名字。
============================================================================================================
step4:
復制解壓包web下所有的文件到新建的項目jpetstore5.0的WebRoot下,覆蓋該包下所有的文件
============================================================================================================
step5:
刪除lib下無用的jar包,如:hsqldb.jar
===============================================================================================================
把項目部署到Tomcat6.0上,運行下試試,應該可以正常運行了。
===============================================================================================================
以上這些步驟都是首次運行jpetstore5.0的步驟,隨著學習的深入這幾個步驟還需要細致地研究下,做得并不完善。
比如第三步,如果修改的DaoConfig正確、你在做測試時對數據庫的改動沒有添加到相應的ddl中,每次運行jpetstore5.0都會重新建表,你以前做的操作是不存在的。第五步,使用MyEclipse6.5可以自己配置user library。你使用了自己的lib,可以刪除的jar文件自然更多。
沒用的東西就沒必要存在,這樣也方便學習。