云记
首页
常用软件
操作系统
技术分享
东云生态
  • 技术网站
  • 其他
关于我们
首页
常用软件
操作系统
技术分享
东云生态
  • 技术网站
  • 其他
关于我们
  • 前端技术

    • JavaScript基础知识
    • 其他
    • 正则表达式
    • Favicon
  • 后端技术

    • 数据结构
    • 开发规范
    • 路径匹配规则
    • Java字符串
    • 二维码的生成与读取
    • 雪花算法
    • SpringBoot注解
    • SpringBoot自定义banner
    • SpringBoot日志
    • Util、POJO、domain、entity、model、dao、view、mapper、service、controller的作用和区别分析
    • SpringSecurity
  • 数据库

    • MySQL
    • Oracle
  • 面试

    • Java面试
层(分类)包命名释义备注
控制层controller负责请求转发,接受页面传递过来的参数,根据参数的不同,是调用不同的 Service 层方法进行操作,操作完成后将返回结果传递给页面。
业务层service由于 Dao 里面存放了对表操作的方法, entity 类中存放了映射表的 POJO 类。 Service 的作用就是将 Dao 和 entity 类整合起来,进行再次封装,封装成一个方法,我们调用这个方法,就实现了对某个表的增删改查操作。
数据访问层dao主要针对于数据表的操作,可以理解为一张数据表,就有一个 Dao 与之对应,与数据库的操作,增删改查等方法。举例:对于 user 类,其对应的 dao 包就是对 user 表中数据的增删改查方法。
mappermapper 层 = dao 层,若使用 Mybatis 框架,则其生成的类名字是 mapper ,其实就是 dao 层。
数据层domaindomain = 域。
域是一个大范围,如简历域包括工作经验表、项目经验表、简历基本信息表。 在 domain 包中,就可以定义一个大的简历对象,将三个表的内容整合在一个对象中,作为整体操作。
1. 如果想对几个表综合操作,就用 domain ;
2. 如果是严格对数据库表操作,就用 entity ;
3. 如果是严格对数据库表操作,就用 entity ;
4. 如果只想展示某个表中的几段信息,就用 view ,注意view包一般放在 controller 层。
entityentity = 实体。
严格和数据库相对应,数据库中有什么字段, entity 包中的类就有什么字段。因此当操作表时,操作这个类即可。比如user表中有 name 、 id 、 age ,则 entity 包中对应的同名类也只有这三个同名属性。
modelModel = 模型。
当用 model 当包名时,一般里面存的是实体类的模型,是用来给后端用的。比如 user 表中有 name 、 id 、 age ,出于安全原因,我们需要把用户的密码定义在另一表中,即 user_passwd 表,但进行相关操作时,我们往往需要将两个表关联使用,每次定义都很麻烦。因此可以在 model 层中定义 user_model 类,将user表中的信息与 user_passwd 表中的信息整合成一张综合表,这样在进行操作时只需调用综合表,就可以完成对两个表的关联操作
view当用view当包名时,一般里面存放的是对实体表的映射类,是用来给前端用的。比如 user 表中有 name 、 id 、 age ,出于某些原因,我们只需要向用户展示 name 和 id 值,但进行相关操作时,我们往往需要对 user 表进行很复杂读处理,每次定义都很麻烦。因此可以在view层中定义 user_view 类,将 user 表中的 name 、id存入 user_view 视图,这样在进行操作时只需调用视图表,就可以完成相对应的操作
工具类层utilutil = 工具。
顾明思义, util 层就是存放工具类的地方,对于一些独立性很高的小功能,或重复性很高的代码片段,可以提取出来放到 Util 层中。

POJO对象

POJO(中文全称:普通Java对象,英文全称:plain ordinary Java object)

  • PO:持久对象,与数据库中的表相映射的Java对象
  • VO:业务层之间数据传递的对象
  • POJO:简单无规则Java对象,只有属性+get+set方法
最后更新时间:
贡献者: xiaozhe
上一篇
SpringBoot日志
下一篇
SpringSecurity