http://www.oschina.net/question/185178_112783?sort=time
目的:將digital項目遷移到linux下可用。
面臨的問題:
1、資料庫是SQL SERVER,需要改造成MYSQL。
2、要在LINUX下測試。
3、新添加的功能比如把APK解壓並簽名壓縮是用DOS的批處理執行的,遷移後如何處理?
黃海的解決思路:
分兩步走。
1、將151的資料庫由SQL SERVER 2000升級到SQL SERVER 2008,主要原因:撰寫分頁的函數使用2008非常方便,將提升修改的速度,同時在部屬安裝時目前只有一所學校使用了SQL SERVER 2000,一個月後我們完成了MYSQL版,也可直接替換,所以現在遷移資料庫很重要,不升級,在修改的過程中將發生提取分頁的各種問題。
採用SQL 2008後,分頁的方法參考:http://www.jb51.net/article/35269.htm
2、將ssi變更為ss,去掉ibatis。已在digital項目中添加了jdbcTemplate的支援,樣本:
G:\Work\DigitalCampus\sys\com\dsideal\sys\action\SysLoginpersonAction.java
private JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringUtil.getBean("jdbcTemplate"); public String login()throws Exception { //這裡樣本如何在各個層中使用jdbcTemplate String sql="select count(1) From T_SYS_LOGINPERSON WHERE USER_ID = 9 and b_use = 1"; int count=this.jdbcTemplate.queryForInt(sql); //System.out.println(count);
為什麼現在這個項目中有DbUtil的工具包,我們還去整合了jdbcTemplate呢?原因:一、我們更熟悉jdbcTemplate,二、jdbcTemplate支援參數化,我看了下DbUtil不支援SQL的參數,只能拼接SQL語句。
3、去掉ibatis,我們將針對ACTION層和SERVICE IMPL層等兩層進行一步步檢查工作,發現有SQL語句的,有調用IBATIS的,一律採用JDBCTEMPLATE進行重寫。直到所有的SQL修改完成。對於現在不用的類與函數,堅決刪除之,不留死角。
4、修改完成後,相當於ms sqlserver就是一堆表放在那裡,不允許有預存程序、函數和觸發器了,而且是在不耽誤現在項目正常向下開發的情況下,就是說隨時可以在修改的過程中繼續開發,而保證項目的隨時出品。
5、在把所有的ibatis去掉後,第一輪結束。
6、第二輪時迅速將所有的分頁代碼,修改為MYSQL的分頁。就只是修改為limit的過程,應該很快。
7、所有修改工作成功完成。
8、相關的項目修改工作,比如自動更新包也需要遷移到mysql,安裝包也要做修改。
修改時間:2013-06-01至2013-06-30
修改人:周楓,吳繽,黃海
具體任務安排:
1、周楓:按後台管理員進入系統,按WEB的流程一步步走,把所有的SQL修改完成。
2、吳繽:把與加強版,標準版,OFFICE的對接介面整理出來,然後一個個修改,去除所有不需要的類和方法。