三层架构 :
界面层/表现层 UI
业务逻辑层 BLL 针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。
数据访问层 DAL 访问数据库
mvc :
而 MVC 是在三层架构的基础上设计的一种框架型架构,三层架构是一种宏观的概念,而 MVC 就是一种比较具体的三层架构的框架实现
View 同UI
Controller 用于将用户请求转发给相应的Model进行处理,并将处理Model的计算结果向用户提供相应响应。
Model 承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门承载业务数据的,如Student、User等。而业务处理Bean则是指Service或Dao对象,专门用于处理用户提交请求的。
常用项目分层:
备注: 此处model不同于mvc的model!
model层即entity层。存放我们的实体类,与数据库中的属性值基本保持一致,用于将数据变成java对象,提供给其他层使用。
mapper层即dao层,对数据库进行数据持久化操作,增删改查等,直接跟数据库打交道,他的方法语句是直接针对数据库操作的。
service层。存放业务逻辑处理,也是一些关于数据库处理的操作,不直接和数据库打交道而是通过mapper,提供和接口还有接口的实现方法,
项目实现(这里很复杂,注意每一步的意义)
Service接口 定义最基本的操作 增删改查
AbstractService类 实现Service接口并导入mapper层(即使用mapper增删改查)
xxxxService接口 继承Service接口,传入model
xxxxServiceImpl类 实现xxxxService接口,继承AbstractService类(也导入了model)
mbg生成的查询都是特制的example,灵活性差
query类 接收参数生成自定义example
controller层,即控制器,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。
导入service层,并使用service中的方法