开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):首页数据显示-banner 接口】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11430
首页数据显示-banner 接口
内容简介
一、banner 显示说明
二、banner 的基本操作
首页数据的banner显示,也就是首页幻灯片的显示,然后做它的后端接口和前端页面,还做首页的名师和课程显示,接下来就分析功能该如何做。
一、首页数据 banner 显示(幻灯片或者轮播图)
先创建服务,如果没有加载完成,就说明项目肯定是有问题的。
加载完之后,发现项目有一个问题,解决方案有两种,第一种就是不需要理会,然后在加载的过程中手动做复制,在页面中找到项目,点 ok,点完之后图标就会变,
假如发现图标没有变不可以建文件,改变图标才可以,如果建完文件再改图标就会有问题,当建四个可能就会有问题,要么复制要么改变它的问题,现在已经建了,就在模块中做 banner 的基本操作。
Service 的 acl 有一个问题
<?xml version="1.0"encoding="UIF-8"?〉
< projectxmlns ="
http://maven.apache.org/POM/4.0.0
"
xmlns:xsi="
http://www.w3org/2001/XMLSchema-instance
"
xsi: schemalcocation ="
http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maw
< artifactId >service
com. atguigu
0.0.1-SNAPSHOT
< modelVersion )4.0.0
< artifactId >service _ acl
一般是不会去手动复制的,自动加载的话就是,首先点右键,找到以 open 开头的文件,点击之后到设置的页面,找到 service-acl 这个项目,resources 这个没有就改成 resourt,直接复制也能加载,先改图片,再创建文件。
二、banner 的基本操作
1. 在 service 创建子模块 service-cms
2. 创建配置文件
#mysql 数据库连接
spring, datasource , driver-class-name=com mysql. cj. jdbe. Driver
spring, datasource ,url=jdbc:mysql://localhost:3306/guli? serverTimezone =GMT%2B8
spring. datasource , username-root
spring, datasource , password=root
#返回 Ison 的全局时间格式
spring. jackson, date-format=yyyy-MM-dd HH:ms:ss
spring, jackson, time-zone=GMT+8
#配置 Emper xml 文件的路径
mybatis—plus. mapper-locations-classpath-cos/atguigu/class service/mapper/xml/*xml
#mybatis 日志
mybatis plus. configuration . log impl-org. apache. ibatis,logging stdout. Std Outimpl.
需要专门建一个表来维护幻灯片
3. 创建一个数据库表,根据表使用代码生成器
(1)到资料找到数据库脚本创建 cm- banner,用代码生成器直接生成,里边的内容需要改一下,包也需要改,是表的名字,这样代码生成器就改成了,第一次生成会慢一点,里边可以加配置类,里边加上 mapper 包的地址
package com atguigu-educns;
import org, mybatis, spring, annotation , Mapper Scan.
import org springframework , boot. SpringApplication
import org. springfranework . boot. autoconfigure . SpringBootApplication .
Importorg springfranework context; annotation . Compo
nentisean
@ SpringBootApplication
@ConponentScen (?"com atguigu"})
//指定扫描位置
@MapperSean("com ntguigu _ edumes, mapper"
public class CmsApplication (
public static void main(string[) args)[ Springdpplication run( Cushoplication class
接下来就是写接口,要知道 banner 里边有数据,而在前台中数据只做显示,也就是说普通用户看到幻灯片,只能看不能改,只能显示数据,在前台系统中把数据做显示,数据也能做增加修改,这就是管理员做的,但是可以在之前的讲师下边写一个 banner 操作。
服务端口
server. port=8004
#服务名
spring. application . name=service-ems
#mysql 数据库连接
spring. datasource . driver-class-name=com mysql. cj. jdbc. Driver
spring, datasource .
url=jdbc:mysql://localhost:3306/guli? serverTimezone =CMF%2B8
spring. datasource . username=root
spring. datasource . password=root
#返回 json 的全局时间格式
spring _ jackson. date-format=yyyy-MM-dd HH:mm:ss
spring. jackson. time-zone=CMT+8
#配置 mapper xml 文件的路径
mybatis-plus. mapper-locations-classpath:com/atguigu/educoms/mapper/xml/*. xml
#mybatis 日志
mybatis-plus. configuration ,log-impl-org. apache,ibatis,logging,stdout. StdOutImpl
(1)创建 banner 后台管理接囗
banne r后台分页查询、添加、修改、删除接口
(2)创建 banner 前台查询接口
首页获取 banner 数据接口
4. 后台对 banner 管理接口 crud 操作
前台对 banner 显示接口
package com,atguigu,eduoms, controller ;
import
/**
*首页 banner 表前端控制器;
</p>
*
@ author test java
*@since 2020-03-07
*/
@ RestController
@ RequestMapping ("/edu.ems/ bannerfront ")
@ CrossOrigin
public class BannerFrontController {
}
写时候地址需要改一下,下边是前台接口
只是做增删结构
//分页查询 banner
@ GetHapping (" pageBanner /(page)/{limit}")
publicRpageBanner (@ PathVariablelongpage ,@ PathVariablelonglimt
bannerService , page( pageBanner , Wrapper null);
return R. ok(). data(“items", pageBanner,getRecords())data("total",pageBanner,getiental).
直接查询就可以了,首先让它报错,在配置里加 banner,在里边创建,引入配置,然后调用方法,让值做一个返回。
//添加 banner
@ PostMappin ("addBanner")
publicRaddBarner (@ RequestBodyCrnBannerermBanner )
honnerService , save(crmBanner);
return R ok:
}
}
//修改 banner
#Api0peration (value="修改Banner")
@ PutMapping (*update")
public RupdateById (θ RequestBodyCrmBanner banner){
bannerService 、 updateBannerById (banner);
return R. ok():
//删除 banner
@Api0eration(value="删除 Banner")
@ Deletellapping ("remove/{id}")
public R remove( athariable String id){
bannerService , removeBannerB γId(id);
return R.οk();
用在后台管理接口
在前台只是显示数据就可以了,不需要做别的事情,需要幻灯片做到。
//查询所有 banner
@ Cetllaporing (“ getA11anner ")
public RgetAllBanner ()(
List CrmBanner list= bannerServiocseleetAllBannerO -
return R.οκ().data
接口就快速做到了