精华内容
下载资源
问答
  • SSM框架中 entity层,mapper层,service层,controller层等作用
    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通过接收前端传过来的参数进行业务操作,再将处理结果返回到前端。
     

    更多相关内容
  • 一、entity层 别名: model层 ,domain层 用途: 用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。 例子:user表的实体user public class User { /** * 用户id */ @Id @...

    一、entity层

    别名: model层 ,domain层
    用途: 实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。
    例子:user表的实体User

    public 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内相互一一映射。
    示例:userMapper

    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层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
    示例:UserService

    public 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);
        }
    }
    
    展开全文
  • entity层(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层的设计

    1. 首先是设计DAO任务的接口(增删改查),再设计其实现的类。
    2. 然后在Spring的配置文件中配置接口和实现类的关联。DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。
    3. 然后就可以在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层的设计

    1. 同样是首先设计接口,再设计其实现的类,实现类中要调用dao层接口。每个接口分别封装一个服务的业务处理方法。具体实现在serviceImpl中。
    2. 接着再Spring的配置文件中配置其实现的关联。
    3. 这样我们就可以在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层

    一般的项目模块中都有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层进行传递的。

    总的来说这样使业务逻辑更加清晰,写代码更加方便。其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。

    SpringBoot框架中的DAO层、Entity层、Service层、Controller层 - 简书

    展开全文
  • entity层 mapper层 service层 controller层 简介 SSM是sping+springMVC+mybatis集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service...
  • 1. entity层 entity就是属性类,通常定义在model层里面,其相当于MVC的M层,属于数据模型层; 一般的实体类对应一个数据表,其中的属性定义数据表中的字段,实体类的字段数量 >= 数据库表中需要操作的字段数量。...
  • DAO:(持久)主要与数据库进行交互 DAO叫数据访问,全称为data access object,属于一种比较底层,比较基础的操作,主要是做数据持久的工作,主要与数据库进行交互。具体到对于某个表的增删改查,也就是...
  • model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中...
  • 基础知识整理......
  • Entity层

    热门讨论 2017-04-16 19:46:50
    一.首先你要决定你的实体是怎么分类的。可以是按照数据库的表分类的;可以是按照窗体来分;甚至可以按照功能来分,但是我们经过思考都可以得到结论,按照表来分是耦合性最低的,也是最正确的选择。...
  • 1.DAO:持久 主要与数据库进行交互 通过@Repository用于标注数据访问组件DAO @Service,@Compent,@Controller没有本质区别 只是为了更好的区分功能 @Mapper注解:作用:在接口类上添加了@Mapper,在编译之后会...
  • 写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则。...Entity层: 用于存放实体类,与数据库中的属性值基本一致,实现getter和setter方
  • entity层 同类: model层 = entity层 = domain层 作用: 用于存放我们的实体类,与数据库中的属性值基本保持一致。 mapper层 同类: mapper层 = dao层 作用: 对数据库进行数据持久化操作,他的方法语句是直接针对...
  • 1、model层=entity层 2、service层 3、mapper层=dao层 4、controller层 1、model层=entity层 存放我们的实体类,与数据库中的属性值基本保持一致。 2、service层 存放业务逻辑处理,也是一些关于数据库处理的...
  • 转载自 https://blog.csdn.net/warpar/article/details/67638379  
  • dao层、entity层、service层、controller层

    万次阅读 多人点赞 2018-08-09 11:02:31
    DAO层、ENTITY层、SERVICE层、CONTROLLER层 1、DAO层: 持久层 主要与数据库进行交互 DAO层主要是做数据持久层的工作,主要与数据库进行交互。 DAO层首先会创建DAO接口,接着就可以在模块中就可以调用DAO 的接口...
  • DAO层、ENTITY层、SERVICE层、CONTROLLER层

    千次阅读 2019-05-16 23:19:30
    dao层、entity层、service层、controller层 2018年08月09日 11:02:31一江春华终散去阅读数:3074 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用 芜湖牛逼 2021-02-16 20:39:07 247 收藏 1 文章标签: ssm 版权 SSM是sping+springMVC+mybatis集成的框架。 MVC即model view ...
  • MyBatis 是一款优秀的持久框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 ...
  • 基于Asp.Net Core3.1项目实战之Entity层实现前言需求梳理实体定义用户实体分类实体日记实体评论实体DbContext配置DbSet配置ModelBuilder 配置DiaryBuilderCommentBuilder数据库配置最终效果 前言 为方便开发,项目...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,060
精华内容 54,824
关键字:

entity层