strust和springmvc,mybatis和hiberna
struts和springmvc对比:
1.机制:spring mvc 的入口是 servlet,而 struts2 是 filter.
2.性能:spring 会稍微比 struts 快。
3.参数传递:struts 是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的。
4.设计思想上: struts 更加符合 oop 的编程思想, spring 就比较谨慎,在 servlet 上扩展。
5. intercepter的实现机制:struts 有以自己的 interceptor 机制,spring mvc 用的是独立的 AOP方式。
6.另外,spring3 mvc 的验证也是一个亮点,支持 JSR303,处理 ajax 的请求更是方便, 只需一个注解@ResponseBody,然后直接返回响应文本即可。
mybatis和hibernate:
orm:对象关系映射,将对象的操作转化为到对数据库的操作,类--表,字段--属性,一行--一个对象
共同点:
Hibernate和 Mybatis 都是 orm 对象关系映射框架,都是用于将数据持久化的框架技术。
区别:
1. Hiberante较深度的封装了 jdbc,对开发者写 sql 的能力要求的不是那么的高,我们只要通过 hql 语句操作对象即可完成对数据持久化的操作了。
2. hibernate可移植性好,使用hibernate只需改变一下数据库方言即可搞定。用hibernate框架,数据库的移植变的非常方便。
3 .hibernate生成的 sql 语句耗费程序资源,优化起来也不是很方便,且对存储过程支持 的也不够太强大。
4. Mybatis是对 jdbc 的封装,但是封装的没有 hibernate 那么深,我们可以再配置文件中写 sql 语句,可以根据需求定制 sql 语句,数据优化起来较 hibernate 容易很多。
5. Mybatis要求程序员写 sql 的能力要相对使用 hibernate 的开发人员要高的多,且可移植性也不是很好。
6.处理大数据时使用 Mybatis 比较好,因为优化较方便。