环境准备
数据库:mysql 5.1 or others——>数据库名:mybatis
Java环境:jdk
Jetbrain idea or eclipse indigo
springmvc version:spring 3.2 or others(需要spring 3.2 所有jar包,一定要包括spring-webmvc-3.2.0.RELEASE.jar,一般在idea可自动import)
所需其他jar包:spirng3.2所有jar包、数据库驱动包mysql5.1、mybatis的jar包、mybatis和spring的整合包、log4j的日志jar包、dbcp数据库连接池包、jstl包
工程结构
-springmvc_mybatis_project
-src
-cn.itcast.ssm.controller
-cn.itcast.ssm.mapper
-cn.itcast.ssm.po
-cn.itcast.ssm.service.impl
-config
-db.properties
-log4j.properties
-JRE System Library
-Apache Tomcat v7.0
-Web App Libraries
-WebRoot
-META-INF
-WEB-INF
-lib
-web.xml
理解SpringMVC前端控制器、处理器映射器、处理器适配器、视图解析器的用法
①配置
第一种:*.action,访问以.action结尾,由DispatcherServlet进行解析
第二种:/,所有访问的地址都由DispatcherServlet进行解析 ,对于静态文件的解析需要另外配置,从而不让DispatcherServlet进行解析
备注:一般采用第二种方式,可以实现RESTful风格的url
①分类
第一种:非注解处理器映射器(了解)
第二种:注解的处理器映射器(掌握)
例如,对标记@Controller的类中标识有@RequestMapping的方法进行映射,在@RequestMapping里定义映射的url
备注:使用注解的处理器映射器不用再xml中配置url和Handler的映射关系
①分类
第一种:非注解处理器适配器(了解)
第二种:注解的处理器适配器(掌握)
备注:需要对应处理器映射器进行配对使用
<!-- 注解映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<!-- 注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!-- 使用mv:annotation-driven可以代替上面的注解映射器和注解适配器配置 -->
<!-- 默认加载很多的参数绑定方法,比如json转换解析器,在实际开发中也是使用该方法 -->
<mv:annotation-driven></mv:annotation-driven>
②所有处理器适配器(注解的)都需要实现HandlerAdapter接口
HandlerAdapter接口:<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">
①解析jsp解析,默认使用jstl标签,classpath下的jstl的包
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<!-- 配置jsp路径的前缀 -->
<property name="prefix" value="WEB-INF/jsp/" />
<!-- 配置jsp路径的后缀 -->
<property name="suffix" value=".jsp/" />
</bean>
②返回ModelAndView
// 返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
// 相当于request的setAttribute,在jsp页面中通过itemsList获取数据
modelAndView.addObject("itemsList", itemsList);
// 指定视图
modelAndView.setViewName("items/itemsList");
// 上面的路径如果没有在视图解析器重配置jsp路径的前缀和jsp路径的后缀,需要修改为
// modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
return modelAndView;
hibernate
是一个标准的ORM框架,即对象关系映射,入门门槛较高,无需写sql语句,依赖语句自定生成sql语句;
由于是对sql语句进行优化,修改比较困难;
应用场景:
适用于需求变化不多的中小型项目,比如后台管理系统、erp、orm、oa...
mybatis
专注于slq本身,需要程序员自己编写sql语句;
由于是自己编写,sql修改、优化比较方便;
是一个不完全的ORM框架,虽然是程序员自己写sql语句,但也可以实现映射:输入映射、输出映射等
应用场景:
适用于需求变化较多的项目,比如互联网项目...
总结:企业进行技术选型,应以低成本、高回报作为原则。
原文:https://www.cnblogs.com/hoanfir/p/9280178.html