后端设计框架及思路

您所在的位置:网站首页 后端网页设计 后端设计框架及思路

后端设计框架及思路

2023-08-29 10:18| 来源: 网络整理| 查看: 265

小哈项目后端--baron 框架介绍工作开始前准备1.设计数据库2.Navicat建库建表3. 使用相关工具(mybatis-generator-gui)快速生成代码(实体类,dao层的接口和xml) controller层(接口层)service层(业务层)dao层(包含Mapper接口和映射XML文件)

框架介绍 后端项目大概分为这么几层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主)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3