后端设计框架及思路

框架介绍

后端项目大概分为这么几层model(实体层)、controller(接口层)、service(业务层)、Dao(Dao层有Mapper接口和与之映射的XML文件)。
实体层存放对象实体模板,业务流水:
controller-->service-->dao(dao层接口)--->dao(dao层xml)
  • controller拿到前端数据,传给service。
  • service经过处理调用dao层下的Mapper接口,从而调用增删改查方法
  • 然而Mapper的实现和与之一一对应的映射XML文件有关

上面提到的都会在下面展开细说的。

工作开始前准备

1. 设计数据库
2. Navicat建库建表
3. 使用相关工具(mybatis-generator-gui)快速生成代码(实体类,dao层的接口和xml)

1.设计数据库

根据数据库课程所学习的数据库设计规范去设计就好了,数据库这门课是要好好吃透的,不仅是学sql语句的问题,表和表的对应关系特别重要。

2.Navicat建库建表

下载Navicat软件,黄色或者彩色都可以,然后根据教程操作,很简单的。
Nacicat建库建表教程

3. 使用相关工具(mybatis-generator-gui)快速生成代码(实体类,dao层的接口和xml)

mybatis-generator-gui生成工具GitHub地址
官方使用教程
运行它之后就会出现下面的界面,下边有我打的一些注释
在这里插入图片描述
对应着原来项目目录看一下(临时的)
![在这里插入图片描述(https://img-blog.csdnimg.cn/20200330024030768.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2R1MjMz,size_16,color_FFFFFF,t_70)

项目所在目录↓
项目所在目录
选择绝对路径
在这里插入图片描述
项目目录结构在这里插入图片描述

到此为止项目便生成好了model、dao层下的Mapper接口文件和映射XML文件。

controller层(接口层)

获取来自前端的数据,然后调用相关service层。
一个简单的接口举例,其实接口注释形式有很多的,可以参考其他各种项目
注释后面method的后面可以改成其他方法,GET,POST,DELETE,PUT都有,然后value后面的就是接口访问地址了。
在这里插入图片描述
注意我上面的参数是XiaohaRoom对吧,这就要求前端存入参数的时候必须要个按照XiaohaRoom这个实体里面属性来。↓
在这里插入图片描述
如果这个参数不放对象也可以,那就一个一个传入,比如下面的(其他项目)↓
在这里插入图片描述
然后要注意非常重要的一点,我们要导入一些工具类
比如 import com.alibaba.fastjson.JSONArray;
要找一些map list string 对象,和 json 互相转化的工具,这样才能和前端沟通↓
在这里插入图片描述
在这里插入图片描述
针对这个工具(fastjson)给你们几个教程,不太全,百度就行(我也是网上找的,自己找找都有的)
教程1
教程2

这边要多多注意前端给的接口文档,看看他给你什么参数,你要给他返回什么参数,举个例子↓
在这里插入图片描述

service层(业务层)

几个简单的service层介绍↓,后续会更新一些复杂的例子。
括号中的参数便是controller层传过来的参数,同样这里return也是返回到上一个controller。
在这里插入图片描述
然后这边根据业务需求,进行相关增删改查操作,调用相应的dao层即可,比如看这个例子↓,根据前端给的个人信息(整合到了user对象里传过来了)
然后用这个Dao层中的方法(这个updateByPrimaryKey是用那个工具自动生成默认Mapper接口和XML文件里的方法),直接就可以用了。
在这里插入图片描述

我这么说可能有点懵是吧,进入这个方法看一下是怎么回事

  • 首先我们把user中的id拿了出来,用这个id去数据库里找到用户所在的哪一行,然后用我们已经有的user信息去更新它。
  • 这里便是dao默认就有的方法,看最后一行的updateByPrimaryKey,就是刚才举例用到的。在这里插入图片描述
  • 然后 updateByPrimaryKey方法便对应其映射XML中的这一段代码↓
  • 标签中间夹着的就是sql语句,这个不难,你们学了之后就知道了,注意看id后面和parameterType,id和上面Mapper中的接口名字是对应的。在这里插入图片描述
  • 这些都是最基本的一些常用方法,其实实际开发中都是自己去写一些方法,不过就算没接触过也没事,照葫芦画瓢就完事了。那怎么照葫芦画瓢呢,给你举个例子你就知道了,我们进入dao层吧。

dao层(包含Mapper接口和映射XML文件)

每个实体对应的dao层下文件都是有一个Mapper接口和映射XML文件的
所以都是成对存在的,图中那个MyBatisBaseDao便是刚才上面提到的工具自动生成时会提供的一些默认方法。
在这里插入图片描述
假如我们现在想根据用户id来搜索他的关注列表(下面是service层)
在这里插入图片描述
但是fans表中还有粉丝(followers),我只想取他的关注(followings)
这时候就需要我们照葫芦画瓢,写自己的dao了,首先是Mapper接口↓
@Param注释中的参数,上接service层传过来的参数id,同时这个参数名特别重要,“user_id” 必须和后面XML文件中的sql中参数名是对应的
在这里插入图片描述
下面这个图是上面Mapper接口对应的XML文件,注意看id是和上面的接口名字一样,同样看sql语句中#{user_id},这个就是对应上面传过来的参数。
在这里插入图片描述

是不是现在对大概流程有了了解呢?

…(未完待续)

前端接口文档: 前端接口文档(可编辑)
先不管那个全局操作码。

  • 有时间去看一下云服务器教程。
    阿里云服务器部署教程
    b站上的部署教程(关注这个up主)
laodu233
关注 关注
  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C++的后端框架从头开发
hailong66666的博客
11-17 4872
基于C++的后端框架Ratel 简介: 从开发到现在已经半个月了,我会进行长期地开发、维护和优化,直到它变得完善。各种建议和错误读者都可以和我联系,从公众号中就可以找到我的联系方式~ Ratel后端框架目前采用C++作为开发语言,理想的效果是实现一个通用的、灵活的、高效的后端开发框架,可以自由选择不同的I/O复用机制,可以自由选择采用多线程、多进程或协程方式实现,并且可以跨平台Linux和Window平台编译和运行。 目前已有功能: Linux和Windows跨平台运行
大型网站后端架构设计
weixin_70730532的博客
06-15 1778
后端架构设计涉及很多方面,并且跟网站规模有很大关系,规模越大涉及技术越多,下面介绍一下超大型网站后端架构设计,以及包含哪些核心技术。分层是架构设计一种重要方式,通过分层来讲问题很高隔离,后端架构可以分为三层,一层是接入层、服务层、存储层。接入层通过LVS、HAProxy等技术将请求接入,将请求量转发给后边nginx+lua,在这一层通过lua扩展构建一些业务逻辑,性能很高。服务层包含http 服务,http服务一般实现组合逻辑,Tomcat是http服务所在容器,http服务一般实现比如填充sku 属性、描
Java后端开发常见的框架以及组件
m0_46401054的博客
06-04 2402
本篇主要介绍Java开发的过程中常用的开发框架以及它们的应用场景,以及常见组件Java后端开发中,有多种框架被广泛使用,每种框架都有其独特的优势和适用场景。消息中间件、审批流工作流、搜索引擎等。
后端架构概述
最新发布
2403_86762465的博客
08-25 551
构建一个高效的后端架构需要综合考虑多个因素,包括技术选型、架构模式、安全性、可扩展性和性能优化。通过合理的规划和设计,可以确保应用程序能够满足当前和未来的业务需求。
app后端设计--总目录
weixin_30642869的博客
02-09 719
做了3年app相关的系统架构,api设计,先后在3个创业公司中工作,经历过手机网页端,android客户端,iphone客户端,现就职于app云后端平台bmob(想了解bmob点击这里)。其中的乐与苦,得与失,仰首问天有谁知?我觉得是时候来个总结,把相关的技术和心得记录下来。 app后端设计(1)--api app后端设计(2)--xmpp的使用 app后端设...
如何设计后端架构
LeanCloud通讯
08-18 501
我们整理了 TapTap 内部人气技术视频课程,将在这里陆续分享,帮助大家在技术浪潮的更迭中保持持续成长。本期内容来自资深服务器开发工程师杨鹏博,课程主要为大家分享什么是架构设计,现在流行...
后台架构设计
06-05
后台架构设计 架构讲解、微服务,分布式架构的各知识点及坑点
后端技术杂谈8:OpenStack架构设计
Java技术江湖
07-11 1444
OpenStack 是开源云计算平台,支持多种虚拟化环境,并且其服务组件都提供了API接口便于二次开发。 OpenStack通过各种补充服务提供基础设施即服务 Infrastructure-as-a-Service (IaaS)的解决方案。每个服务都提供便于集成的应用程序接口Application Programming Interface (API)。 openstack 逻辑架构图 ...
Java后端架构的设计
BXERP(集成小程序的多商户开源收银系统)。代码托管在CodeChina和GitHub
12-17 537
本产品使用了SSM开源框架来架构系统,使用Maven来构建和管理项目。良好的后端架构易于复用、维护和扩展,团队开发人员共用一套后端架构,易于沟通交流、code review。后端使用了了MVC三层结构,分别为Action控制层(V)、BO业务层(C)、Mapper数据访问层(M)。 正文: 1、使用MVC三层结构 Action控制层(V)、BO业务层(C)、Mapper数据访问层(M)。 2、A...
该系是基于dubbo+zookeeper的分布式医疗系统,后端框架springboot
08-20
5. **源码分析**:源码是学习和理解系统设计思路的重要途径。本系统提供的源码经过严格测试,可以直接运行,这为开发者提供了方便的学习环境。通过阅读源码,可以深入理解如何在Dubbo和SpringBoot框架下构建高可用、...
测试平台(二)后端开发(2)需求介绍及后端框架搭建
Mikasa的博客
07-09 744
本章主要讲述后端框架搭建整体环境:注意:这个平台只是简单打来练手的,告诉大家有一个简单的搭建思路并简单实现功能,因为正常情况下,公司的基础架构都早已搭建好了,并有很完善的功能,并且会直接在别人的开源项目下进行二次开发,不会像我们这样自己着手去打一个平台(又费时/又费力,打出来的效果还没别人开源的好)我们只需要在原公司基础架构上去实现自己的功能即可。 二、整体框架概要..................
后端php接口,PHP_TP5框架开发后端接口(代码编思路)
weixin_39599342的博客
03-09 822
这半个月断断续续在学习用 PHP 的ThinkPHP框架开发后端API。现在总结记录一下开发一个接口需要做好哪些事,以此提高开发效率,并且也有不错的扩展性。一、流程概要基本是这么一个流程,略过环境搭建:整理清楚有哪些接口设计数据表初步梳理是一对一,一对多,还是多对多编验证器编全局异常类(AOP思想)定义路由路径建立控制器类建立模型类用ORM,所以建立和数据表对应的模型类控制器调用模型,模型调用...
【NodeJs】基于nodejs加koa2搭建一个的后端服务框架并实现一个简单的token生成及校验功能
lixiaosenlin的专栏
12-24 2153
背景 最近在学习nodejs以及相关框架koa。后来发现学习时是学会了,但是没过多久再想使用时又忘了,于是决定通过一个小demo的形式将所学及所用的知识记录一下,便于日后回顾和使用。 案例介绍 本文将通过一个简单的小案例来搭建一个基于nodejs+koa的后端服务。主要涉及到的功能点有: token生成及校验 token校验中间件 不同模块路由拆分及组合 用户登录及信息查询API db相关操作类封装 常用工具类封装 项目目录结构 用到的知识点及第三方库 jsonwebtoken: 用于生成及校
项目后端设计
shangyuexue的博客
08-27 410
后端功能列表 功能类型 功能描述 技术选型 WEB服务 MVC框架 sping web(spingmvc) 服务 注册新用户服务 spring-cloud,mysql,mybatis,redis 服务 登录服务 spring-cloud,mysql,mybatis,redis 服务 增加记录服务 spring-cloud,redis,mongodb 服务 增加评论服务 spring-cloud,redis,mongodb 服务 删除记录服务 spring-cloud,re
【开发】后端框架——SpringMVC
努力,奋斗!
03-26 1033
传统MVC模式与SpringMVC简介,SpringMVC原理,Restful风格参数传递,Spring接收参数,SpringMVC数据回显,SpringMVC结果跳转方式,SpringMVC过滤器解决乱码问题,Java生成JSON数据,SSM整合(数据库环境,Maven项目创建,Spring整合Mybatis,SpringMVC,CRUD,事务配置) SpringAJAX,Spring拦截器,文件上传下载
第三章 搭建后端框架
lrqforest的博客
11-11 295
第一步建立父工程:引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <!--设定一个空值将始终从仓库中获取,不从本地路径获取--> <relativePa
后端开发技巧
fengwuJ的博客
09-07 493
关于接口和抽象类的使用技巧:使用场景:隐藏接口方法,减少冗余代码 1、接口中可以使用default关键字,为该方法上方法体,避免每一个实现该接口的类都要实现该方法造成代码冗余 2、抽象类中可以定义抽象方法和普通方法,普通方法需要上方法体 3、可以使用抽象类实例化接口,只重需要用到的方法,这样可以只暴露接口的部分方法 关于动态代理对象和对象方法的使用技巧;来自装饰者模式和代理模式,使...
开发平台后端架构规划与设计
学海无涯,行者无疆
03-13 1512
开发平台是公用的,可以不断完善提升,独立升级,基于开发平台构建的多个业务系统。 具体点,也就是以下两点: 业务系统与平台相对独立:使用开发平台构建业务系统,开发平台为业务系统提供强有力技术支撑能力。 技术组件按需加载:部分公共通用技术组件几乎是必然会用到的,比如日志、缓存、任务调度,适合放到开发平台,但有些技术组件则是某些业务系统才会用到的,比如工作流、消息队列、规则引擎,因此需要处理好这部分组件,全部加载会使平台很重,会降低编译、运行速度,增大发布包体积,因此最好通过配置来实现按需加载。
后端学习 - 设计模式与设计原则
我的精神家园
03-23 1466
文章目录创建型模式1 工厂模式2 抽象工厂模式3 单例模式行为型模式1 观察者模式2 模板模式结构型模式1 代理模式 创建型模式 1 工厂模式 主要解决接口选择的问题:将同一类对象的创建过程,转移到一个工厂类实现 在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象 // 1.创建接口 public interface Shape { void draw(); } // 2.创建接口的实现类 public class Rectangle implements
写文章

热门文章

  • 后端设计框架及思路 5618

最新评论

  • 后端设计框架及思路

    Tisfy: Nice!,古人云:泥落画梁空,梦想青春语。

大家在看

  • UNI VFX Missiles Explosions for Visual Effect Graph
  • Java爬虫:深度解析X红.书商品详情API返回值
  • 2025选题推荐|基于SpringBoot的幼儿园智能管理与监控系统的设计与实现
  • 青少年编程与数学 02_001 GO语言程序设计基础 19课题、JSON数据
  • Spring Boot图书管理:进销存系统的现代化解决方案

最新文章

2020年1篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司长春网站建设SEO优化营销东莞外贸网站关键词优化排名如何优化啊里网站排名黄山seo网站优化报价优化网站排名要多长时间优化网站方法好口碑易速达扬州品质网站优化反馈普陀区谷歌网站优化方案定制做网站优化哪家不错网站建设时比较有效的优化技巧专业网站优化制作公司淮安网站建设优化网站优化公司是真的吗怎么上传网站优化梅沙中小型网站优化网站优化开发设计日结网站优化专员职责服务好的网站优化哪家靠谱厦门网站排名优化收费情况教育网站如何优化关键词阜宁网站优化公司重庆放心的网站优化推广密云网站关键字优化栖霞通商网站优化西安网站优化 网络服务网站seo全局优化网站建设优化可以火7星细心优化中的网站地图聊城网站优化公司优化网站用什么软件香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化