SpringMVC+MyBatis学习总结

一、SSM中各层作用及关系

1. 持久层:DAO层

  • DAO层:主要负责与数据库进行交互设计,用来处理数据的持久化工作。

  • DAO层的设计首先是设计DAO的接口,也就是项目中你看到的Dao包。

  • 然后在Spring的xml配置文件中定义此接口的实现类,就可在其他模块中调用此接口来进行数据业务的处理,而不用关心接口的具体实现类是哪个类,这里往往用到的就是反射机制,DAO层的jdbc.properties数据源配置,以及有 关数据库连接的参数都在Spring的配置文件中进行配置。

2. 业务层:Service层

  • Service层:主要负责业务模块的逻辑应用设计。也就是项目中的Service包。

  • Service层的设计首先是设计接口,再设计其实现的类。也就是项目中的service+impl包。

  • 接着再在Spring的xml配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。

  • 最后通过调用DAO层已定义的接口,去实现Service具体的实现类。

3. 控制层/表现层:Controller层(Handler层)

  • Controller层:主要负责具体的业务模块流程控制。

  • Controller层通过要调用Service层的接口来控制业务流程,控制的配置也同样是在Spring的xml配置文件里面,针对具体的业务流程,会有不同的控制器。

4. View层 (属于springMVC模块)

  • 负责前台jsp页面的展示,此层需要与Controller层结合起来开发。

  • Jsp发送请求,controller接收请求,处理,返回,jsp回显数据。

二、SSM工作流程

jsp页面发送信息 <--> controller接受用户请求(接受参数),并进行相应的处理 <-->Service层完成具体的业务逻辑 <--> Dao对数据库进行操作 <-->数据库

三、Mark在模块中使用过的技术

1. @RequestMapping()

         SpringMVC用来为控制器指定可以处理那些URL请求,其中可带value,method,params,heads等映射条件

2. @PathVariable

          通过@PathVariable可将URL中占位符参数绑定到控制器处理方法的入参中

3. @RequestParam绑定请求参数值

           在处理方法入参处使用@RequestParam可以把请求参数传递给请求方法

4. 使用POJO对象绑定请求参数值

           SpringMVC会按请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。

5. 处理静态资源

           在SpingMVC的配置文件中配置,静态资源放在WebContent根目录下

         
        

6. 处理JSON

     1. 加入jar包

SpringMVC+MyBatis学习总结_第1张图片

     2. 编写目标方法,使其返回JSON对应的对象或集合

     3. 在方法上添加@ResponseBody注解  

7. resultMap,实现高级结果集映射

      1. id——一个ID结果,标记结果为ID可以帮助提高整体效能

      2. result——注入到字段或JavaBean属性的普通结果

      3. assosiation——一个复杂的类型关联,可以指定联合的javaBean对象

      4. collection——复杂类型的集

8. URL中的中文参数乱码问题

        varia= new String(dirName.getBytes("ISO-8859-1"), "utf8");

 

 

 

你可能感兴趣的:(SpringMVC+MyBatis学习总结)