SSM框架(Spring + SpringMVC + Mybatis)

MVC即model view controller。(模型,视图,控制器)

entity层(model层,domain层)

  • 用于存放我们的实体类,类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个类。
  • 主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。

mapper层(dao层)

  • 数据持久层,先设计接口,然后在配置文件中进行配置其实现的关联。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的。该层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。
  • 数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作。

Service层=service接口+servicelmpl实现类

  • 用来存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,和dao层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。然后就可以在Service层调用dao层的接口进行业务逻辑应用的处理。
  • 当项目的业务逻辑简单时,可选择service层=service类;
  • 当项目的业务复杂时,可选择Service层=service接口+serviceImpl实现类;
  • Service的impl是把mapper和service进行整合的文件 封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

controller层

控制器,控制业务逻辑service,控制请求和响应,负责前后端交互。因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。

相关推荐
头发还在的女程序员2 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
CodeStats2 小时前
【Spring事务】Spring事务注解 @Transactional 完整体系:从 MySQL 隔离级别到 MyBatis 原理详解
java·spring·mybatis·事务·transactional
我命由我123453 小时前
Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
都叫我大帅哥5 小时前
从Python到Java:为什么企业级Agent最终会选择Java?
java·ai编程
wanderist.5 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
腻害兔7 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:IM 即时通讯模块,一个被低估的「全功能聊天系统」
java·前端·vue.js·产品经理·ai编程
心念枕惊7 小时前
.NET CORE 授权进阶-角色、策略与动态权限实现
java·前端·.netcore
景同学8 小时前
把 AI 用到线上运维:可行、有效,前提是喂足信息——一次 Full GC 排障实录
java·人工智能·后端
C++、Java和Python的菜鸟9 小时前
第7章 后端Web实战(Tlias系统)
java
憧憬成为java架构高手的小白9 小时前
黑马八股--spring框架学习
java·学习·spring