开发步骤:
1.先写实体类entity,定义对象的属性。
2.写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。
3.写Mapper.java/Dao.java,将Mapper.xml中的操作按照id映射成Java函数。实际上就是Dao接口,二者选一即可。
4.写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。
5.写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
6.写JSP页面调用,请求哪些参数,需要获取什么数据。
对象的调用流程:前端JSP ——> Controller ——> Service ——> Dao ——> 数据库
关系:Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。
Controller(Handler)(属于springMVC模块):负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程
Dao(mapper)(属于mybatis模块):主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层设计接口。与数据库对接,具体到对于某个表、某个实体的增删改查。DAO层的设计首先是设计DAO的接口,然后定义此接口的实现类
mapper.xml:写在xml文件里,里面写对应的SQL语句,实现在数据库中怎么查找。所有的xml都是配置文件,给程序去读取的。mapper映射文件在dao层用
Model(pojo,bean):就是实体类。增加Mapper的易用性,把所有SQL字段变成变量放在里面,根据表结构自动生成。一般与数据库的表相对应,封装dao层取出来的数据为一个对象
service(属于spring模块):主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类。可以细分为service接口和serviceImpl实现类。Service层的业务实现,要调用已经定义的dao层接口.service层里面的方法相较于dao层中的方法进行了一层包装,例如通过id查找用户,通过用户名查找用户,是在基础的操作上又增加了一层包装的,实现的是相对高级的操作,最后将这些操作在serviceimpl类中实现。
view(属于springMVC模块):负责前台jsp页面的展示,此层需要与Controller层结合起来开发。Jsp发送请求,controller接收请求,处理,返回,jsp回显数据。
SSM三个框架的优点
一、mybatis的优缺点:
优点:a、sql写在xml文件中,便于统一管理和优化,解除sql和程序代码的耦合。
b、提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建
c、提供xml标签,支持编写动态sql。
缺点:a、工作量较大,特别是在表的字段多,关联表多的情况下
b、sql语句的编写依赖于数据库,移植性差。
c、不支持级联删除,级联更新,需要自己对表进行删除。
二、spring的优点:
A、通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。
B、通过Spring的AOP特性,很容易实现事务,日志,权限的控制。
C、提供了对其他优秀开源框架的集成支持。
D、低侵入式。
三、SpringMVC的优点
A、springMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,是的我们开发更简洁。
B、与Spring无缝衔接。
C、灵活的数据验证,格式化,数据绑定机制。
四、整合分析
A、spring MVC + spring +mybatis,是标准的MVC设计模式,将整个系统划分为显示层,Controller层,Service层,DAO层四层
使用Spring MVC负责请求的转发和视图管理
spring实现业务对象管理,mybatis作为数据对象的持久化引擎。
B、Spring是一个开源框架,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,还能更好的让其他框架整合。
C、Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。
D、MyBatis 是一个基于Java的持久层框架



