-
2022-04-20 10:04:16
SSM 是 Spring + SpringMVC + Mybatis集成的框架。一、entity层
同类: model层 = entity层 = domain层
作用: 用于存放我们的实体类,与数据库中的属性值基本保持一致。二、mapper层
同类: mapper层 = dao层
作用: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的三、service层
同类: 只有一个 service层
作用: service层 是针对 controller层的 controller,也就是针对我们使用者。service的 impl 是把mapper和service进行整合的文件。四、controller层
同类: controller层 = web 层
作用: 控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,再将处理结果返回到前端。
更多相关内容 -
解析Java框架中entity层,mapper层,service层,controller各层作用
2019-01-08 18:09:12一、entity层 别名: model层 ,domain层 用途: 用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。 例子:user表的实体user public class User { /** * 用户id */ @Id @...一、entity层
别名: model层 ,domain层
用途: 实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。
例子:user表的实体Userpublic class User { /** * 用户id */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; /** * 用户昵称 */ private String nick; /** * 手机号 */ private String mobile; /** * 头像地址 */ @Column(name = "head_image_url") private String headImageUrl; /** * 获取用户id * * @return id - 用户id */ public Long getId() { return id; } /** * 设置用户id * * @param id 用户id */ public void setId(Long id) { this.id = id; } /** * 获取用户昵称 * * @return nick - 用户昵称 */ public String getNick() { return nick; } /** * 设置用户昵称 * * @param nick 用户昵称 */ public void setNick(String nick) { this.nick = nick; } /** * 获取手机号 * * @return mobile - 手机号 */ public String getMobile() { return mobile; } /** * 设置手机号 * * @param mobile 手机号 */ public void setMobile(String mobile) { this.mobile = mobile; } /** * 获取头像地址 * * @return head_image_url - 头像地址 */ public String getHeadImageUrl() { return headImageUrl; } /** * 设置头像地址 * * @param headImageUrl 头像地址 */ public void setHeadImageUrl(String headImageUrl) { this.headImageUrl = headImageUrl; } }
二、mapper层
别名: dao层
用途: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。
示例:userMapperpublic interface userMapper { int deleteByPrimaryKey(Long id); int insert(user record); int insertSelective(user record); user selectByPrimaryKey(Long id); int updateByPrimaryKeySelective(user record); int updateByPrimaryKey(user record); }
三、service层
用途:业务service层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
示例:UserServicepublic interface UserService extends Service<User> { }
四、controller层
别名:web 层
用途: 控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。
示例:UserController@RestController @RequestMapping("/user") public class UserController { @Resource private UserService userService; @PostMapping("/add") public Result add(User user) { userService.save(user); return ResultGenerator.genSuccessResult(); } @PostMapping("/delete") public Result delete(@RequestParam Integer id) { userService.deleteById(id); return ResultGenerator.genSuccessResult(); } @PostMapping("/update") public Result update(User user) { userService.update(user); return ResultGenerator.genSuccessResult(); } @PostMapping("/detail") public Result detail(@RequestParam Integer id) { User user = userService.findById(id); return ResultGenerator.genSuccessResult(user); } @PostMapping("/list") public Result list(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "0") Integer size) { PageHelper.startPage(page, size); List<User> list = userService.findAll(); PageInfo pageInfo = new PageInfo(list); return ResultGenerator.genSuccessResult(pageInfo); } }
-
MVC框架中Entity层,DAO层,Service层,Controller层的关系和区别
2021-05-01 15:26:11entity层(model层 = entity层 = domain层) entity层的作用: 用于存放的实体类,与数据库中的属性值基本保持一致。实现set和get的方法。 public class User { /* 用户id */ private Long id; /* 获取用户...分层的作用:
在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
entity层(model层 = entity层 = domain层)
entity层的作用: 用于存放的实体类,与数据库中的属性值基本保持一致。实现set和get的方法。
public class User { /* 用户id */ private Long id; /* 获取用户id */ public Long getId() { return id; } /* 设置用户id */ public void setId(Long id) { this.id = id; } }
DAO层(mybatis的mapper层,数据访问层,data access object)
DAO层的作用:DAO层就是数据持久层,直接对数据库进行数据持久化操作。对某个表进行增删改查基本操作。
DAO层的设计:
- 首先是设计DAO任务的接口(增删改查),再设计其实现的类。
- 然后在Spring的配置文件中配置接口和实现类的关联。DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。
- 然后就可以在Service层中调用DAO层的接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类。
public interface userMapper { int deleteByPrimaryKey(Long id); int insert(user record); int insertSelective(user record); user selectByPrimaryKey(Long id); int updateByPrimaryKeySelective(user record); int updateByPrimaryKey(user record); }
Service层(服务层,逻辑层)
Service层的作用:对业务模块的逻辑应用设计。根据具体的业务逻辑封装Dao层的操作,对外表现为实现一种功能 / 服务。例如:网购生成订单时,不仅要插入订单信息记录,还要查询商品库存是否充足,购买是否超过限制等等。
Service层的设计:
- 同样是首先设计接口,再设计其实现的类,实现类中要调用dao层接口。每个接口分别封装一个服务的业务处理方法。具体实现在serviceImpl中。
- 接着再Spring的配置文件中配置其实现的关联。
- 这样我们就可以在Controller层中调用Service接口来进行业务处理。
DAO面向表,Service面向业务。后端开发时先在数据库中设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。
public interface UserService extends Service<User> { }
service的 impl 是把mapper和service进行整合的文件。
Controller层( web 层,控制器)
Controller层的作用: 控制具体模块的业务流程。负责请求转发,接受前端传过来的参数,调用Serice层来实现这个业务逻辑,得到返回值,再传给页面。
在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。
@RestController @RequestMapping("/user") public class UserController { @Resource private UserService userService; @PostMapping("/add") public Result add(User user) { userService.save(user); return ResultGenerator.genSuccessResult(); } @PostMapping("/delete") public Result delete(@RequestParam Integer id) { userService.deleteById(id); return ResultGenerator.genSuccessResult(); } @PostMapping("/update") public Result update(User user) { userService.update(user); return ResultGenerator.genSuccessResult(); } @PostMapping("/detail") public Result detail(@RequestParam Integer id) { User user = userService.findById(id); return ResultGenerator.genSuccessResult(user); } @PostMapping("/list") public Result list(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "0") Integer size) { PageHelper.startPage(page, size); List<User> list = userService.findAll(); PageInfo pageInfo = new PageInfo(list); return ResultGenerator.genSuccessResult(pageInfo); } }
View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示,
-
SpringBoot框架中的DAO层、Entity层、Service层、Controller层
2022-03-21 10:10:49SpringBoot框架中的DAO层、Entity层、Service层、Controller层一般的项目模块中都有DAO、Entity、Service、Controller层。
Entity层:实体层 数据库在项目中的类
Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,该文件包含实体类的属性和对应属性的set、get方法;
DAO层: 持久层 主要与数据库进行交互
DAO层=mapper层,现在用Mybatis逆向工程生成的mapper层,其实就是dao层。DAO层会调用entity层,DAO中会定义实际使用到的方法,比如增删改查。DAO 层的数据源和数据库连接的参数都是在配置文件中进行配置的,配置文件一般在同层的XML文件夹中。数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作。
Service层:业务层 控制业务
Service层主要负责业务模块的逻辑应用设计。先设计放接口的类,再创建实现的类,然后在配置文件中进行配置其实现的关联。service层调用dao层接口,接收dao层返回的数据,完成项目的基本功能设计。
封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
Controller层:控制层 控制业务逻辑
Controller层负责具体的业务模块流程的控制,controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。
Controller层像是一个服务员,他把客人(前端)点的菜(数据、请求的类型等)进行汇总什么口味、咸淡、量的多少,交给厨师长(Service层),厨师长则告诉沾板厨师(Dao 1)、汤料房(Dao 2)、配菜厨师(Dao 3)等(统称Dao层)我需要什么样的半成品,副厨们(Dao层)就负责完成厨师长(Service)交代的任务。在具体的项目中,其流程为:
Controller-->service接口-->serviceImpl-->dao接口-->daoImpl-->mapper-->db
Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Entity层进行传递的。
总的来说这样使业务逻辑更加清晰,写代码更加方便。其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。
-
java 框架 Dao层 Mapper层 controller层 service层 model层 entity层 简介
2020-07-29 08:40:31entity层 mapper层 service层 controller层 简介 SSM是sping+springMVC+mybatis集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service... -
Spring框架中entity层、dao层、service层、mapper层、controller层详解
2021-03-30 11:17:561. entity层 entity就是属性类,通常定义在model层里面,其相当于MVC的M层,属于数据模型层; 一般的实体类对应一个数据表,其中的属性定义数据表中的字段,实体类的字段数量 >= 数据库表中需要操作的字段数量。... -
Java中dao层、service层、controller层、entity层和view层的概述
2021-03-23 14:35:01DAO层:(持久层)主要与数据库进行交互 DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,主要是做数据持久层的工作,主要与数据库进行交互。具体到对于某个表的增删改查,也就是... -
Dao层,Mapper层,controller层,service层,model层,entity层之间的关联
2020-12-10 20:33:58model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中... -
什么是Dao层、Entity层、Service层、Servlet层、Utils层?
2022-01-04 09:23:12基础知识整理...... -
Entity层
2017-04-16 19:46:50一.首先你要决定你的实体是怎么分类的。可以是按照数据库的表分类的;可以是按照窗体来分;甚至可以按照功能来分,但是我们经过思考都可以得到结论,按照表来分是耦合性最低的,也是最正确的选择。... -
DAO层 Entity层 Service层 Controller层View层的区别和联系
2019-03-14 09:41:591.DAO层:持久层 主要与数据库进行交互 通过@Repository用于标注数据访问组件DAO层 @Service,@Compent,@Controller没有本质区别 只是为了更好的区分功能 @Mapper注解:作用:在接口类上添加了@Mapper,在编译之后会... -
Entity层、DAO层、Service层、Controller层 先后顺序
2021-06-01 19:53:51写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则。...Entity层: 用于存放实体类,与数据库中的属性值基本一致,实现getter和setter方 -
SSM框架中 entity层 | mapper层 | service层 | controller层等作用
2019-12-25 12:38:59entity层 同类: model层 = entity层 = domain层 作用: 用于存放我们的实体类,与数据库中的属性值基本保持一致。 mapper层 同类: mapper层 = dao层 作用: 对数据库进行数据持久化操作,他的方法语句是直接针对... -
【转载】SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用
2020-11-22 22:53:381、model层=entity层 2、service层 3、mapper层=dao层 4、controller层 1、model层=entity层 存放我们的实体类,与数据库中的属性值基本保持一致。 2、service层 存放业务逻辑处理,也是一些关于数据库处理的... -
DAO层、ENTITY层、SERVICE层、CONTROLLER层个人的理解分析
2018-10-02 09:37:28转载自 https://blog.csdn.net/warpar/article/details/67638379 -
dao层、entity层、service层、controller层
2018-08-09 11:02:31DAO层、ENTITY层、SERVICE层、CONTROLLER层 1、DAO层: 持久层 主要与数据库进行交互 DAO层主要是做数据持久层的工作,主要与数据库进行交互。 DAO层首先会创建DAO接口,接着就可以在模块中就可以调用DAO 的接口... -
DAO层、ENTITY层、SERVICE层、CONTROLLER层
2019-05-16 23:19:30dao层、entity层、service层、controller层 2018年08月09日 11:02:31一江春华终散去阅读数:3074 版权声明:本文为博主原创文章,未经博主允许不得转载。 ... -
SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用
2021-04-02 09:30:42SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用 芜湖牛逼 2021-02-16 20:39:07 247 收藏 1 文章标签: ssm 版权 SSM是sping+springMVC+mybatis集成的框架。 MVC即model view ... -
SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层介绍
2019-10-30 16:04:05MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 ... -
基于Asp.Net Core3.1项目实战之Entity层实现(二)
2020-09-16 13:48:04基于Asp.Net Core3.1项目实战之Entity层实现前言需求梳理实体定义用户实体分类实体日记实体评论实体DbContext配置DbSet配置ModelBuilder 配置DiaryBuilderCommentBuilder数据库配置最终效果 前言 为方便开发,项目...