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自己看就好了。