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的对接接口整理出来,然后一个个修改,去除所有不需要的类和方法。