RUKU项目阶段总结及三个案例项目的技术分析-阿里云开发者社区

开发者社区> 开发与运维> 正文

RUKU项目阶段总结及三个案例项目的技术分析

简介: 1-Ucanaccess对access数据库文件的操作的java代码,在新版本ruku系统中不会经常被用到,主要的用途是数据迁移过程中,通过查询数据以验证和确保数据的准确性。 2-数据库结构的设计肯定会有调整,但是目前通过power designer进行数据库设计然后通过phpmyadmin导入,这种方式创建mysql表结构,十分方便。

1-Ucanaccess对access数据库文件的操作的java代码,在新版本ruku系统中不会经常被用到,主要的用途是数据迁移过程中,通过查询数据以验证和确保数据的准确性。

2-数据库结构的设计肯定会有调整,但是目前通过power designer进行数据库设计然后通过phpmyadmin导入,这种方式创建mysql表结构,十分方便。

3-数据迁移估计会比较麻烦。而且会多次迁移。

4-不论前端如何处理,目前的当务之急都是尽快用上hibernate,因为后续进行分页等操作,hibernate会体现很大的价值。

上述内容比较草率和概括,具体的说,我有如下的打算:
1.使用ExtJS
2.导入hibernate并使用相关的eclipse插件进行pojo的代码生成
3.目前spingmvc+sping+extjs+hibernate+mysql的基础上,不再导入其他的外部jar

下面列举一下对方项目中使用到的技术内容:

SN 名称 类别 详细内容
1 spring context spring框架
2 CharacterEncodingFilter filter spring编码
3 DelegatingFilterProxy filter springSecurity filter
4 ActionContextCleanUp filter Struts2 Filter
5 StrutsPrepareAndExecuteFilter filter Struts2 Filter
6 I18nFilter filter I18nFilter国际化
7 OpenSessionInViewFilter filter 延迟加载
8 载入Spring上下文至tomcat listener Sping ContextLoaderListener

Hibernate的配置完全在Spring配置文件中。
然后,他们的项目完全没有使用Spring MVC
目前当务之急,必须马上导入hibernate,这样可以快速开发基础代码,以便于今后的修改。

目前有三个项目的代码可以作为参考。它们是,爱外而德,奎克系统和教材中的示例代码,看过源码内容后,我总结如下:
1---爱外而德系统,核心的Dao代码全都是基于springside3;
2---奎克系统,基于spring5的spring+hibernate,比较新;
3---教材代码,基于spring4的spring+hibernate,旧了一点;

我们对于java代码的规划大体就是dao---service---web
其中
dao负责最基础无业务含义的数据库相关的操作
web负责处理由servlet交来的请求,也就是SpringMVC这个servlet将请求拦截下来以后,最终交给web中的controller进行处理。也就是说,web中的controller负责对应url地址,调用service,返回ModelAndView。
service是带有业务内涵的java代码,被web中的代码调用。

上述三部分内容中:
web部分已经比较明确,就是完全采用Spring MVC进行实现。
service部分是抽象出来的业务相关的逻辑,完全取决于你的编程能力了。
dao部分是我们当前阶段需要进行选择的重点,需要进行技术选择和代码结构的规划。

刚刚我们分析三个系统的源代码目的只有一个,就是帮助我们判断自己的Dao部分代码应该怎么写。我们需要考虑:
1--SpringJDBCHibernateSpringSide怎么选择和搭配
2--参考那些代码实现自己的dao

今天以前我们的dao代码全都是SpringJDBC直接访问access和mysql的。下面的工作中,肯定导入Hibernate并大面积的替代SpringJDBC。肯定不会导入SpringSide,原因不是因为觉得它更加复杂。原因是我不想让别人觉得我在抄袭他们的代码(尽管他们用springside这个包本身就是没有必要的做法),而且SpringSide这个国产的包,更新也慢,而且半死不活感觉不是很可靠。

我的倾向是直接用spring orm和hibernate相关的包直接干就可以了,毕竟很成熟了。
看了一下springside的代码,对比spring的spring-orm,我觉得springside的功能,代码内容,基本上相当于spring-orm中的hibernateTemplate和hibernateDaoSupport,奎克项目就是直接使用了HibernateDaoSupport。
因此我觉得他们使用springside唯一的原因就是习惯问题,他们之前项目中已经习惯了springside。我倾向于直接使用spring-orm提供的hibernate相关的jar包,因为完全没有必要使用springside,至少orm这一块没有必要。具体代码自己去下载spring-orm和springside自己看就好了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章