课程管理-课程信息确认(后端) | 学习笔记

简介: 快速学习课程管理-课程信息确认(后端)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)课程管理-课程信息确认(后端)学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11392


课程管理-课程信息确认(后端)


内容介绍

一、课程发布

二、出现的问题

三、再次启动


一、课程发布

1、课程确认

进入第三步首先把课程信息最后确认,在里面就显示这些内容,这就

叫课程信息确认。

此前接口已经写过了。根据课程ID用紫外连接查出里面的数据,包

括它最终返回的是一个对象,是专门定的一个类别。在里面有需要的

数据,也就是重新写到的。

(2)代码如下:

SELECTec.id,ec.title,ec.price,ec.lesson_numASlessonNum,ec.

Cover

et.nameASteacherName

es1.titleASsubject.Leve10ne

es2.titleASsubject.Leve1Two

FROMedu_courseec

LEFTOUTERJOINedu_course_descriptionecdONec.id=ecd.id

LEFTOUTERJOINedu_teacheretONec.teacher_id=et.id

LEFTOUTERJOINedu_subjectes1ONec.

subject_parent_id=es1.id

LEFTOUTERJOINedu_subjectes2ONec.subject_id=es2.id

WHEREec.id=#{courseid}

//根据课程 id 查询课程确认信息

GetMapping("getPublishCourseInfo/{id})

publicRgetPublishCourseInfo(PathVariableStringid){

CoursePublishVo

coursePublishVo=courseService.PublishCourseInfo(id)

returnR.ok().data("PublishCourse",coursePublishVo)

privateStringid;

privateStringtitle;

privateStringcover;

privateIntegerlessonNum;

privateStringsubject.Leve10ne;

privateStringsubject.Leve1Two;

privateStringteacherName;

privateStringprice;//只用于展示


二、出现的问题

在运行过程中出现了方法找不到的错误,现在把这个问题解决一下。

1、过程

在 mapper 里面编写 sql 语句,调用,出现错误。这个错误提示方

法找不到。

2、方法找不到的原因

(1)PPT 内容

maven 默认加载机制,只会把 src-main-java 文件夹中的 java 类型

文件进行加载,其他类型文件不会加载。

(2)文字讲解

在 src,main,java 这个文件夹中,只是写 java 代码和一些内容。

在 maven  中有一个特点,就是只会把 src-main-java 中的 java 类

型的文件进行加载。

如果有其他类型的文件,则是不会去加载的。而在 java 文件夹中,

除了有 java 这个文件之外,还有一个类型的文件,就是mapper中

的 xml 文件。这个文件默认是不会加载的。所以在执行过程中没有

插入文件就会报出方法找不到这个错误。这是对于问题的描述,包括

可以到 target 中看一下。

这个 target 是加载编译之后的内容,而在 com 里面 mapper 中是

没有插入文件的,现在就报出方法找不到的错误。

3、解决方式

总体上有两大种方式。

(1)复制 xml 文件到 target 目录中。

第一种方式是直接复制 xml 文件到 target 中,这应该是最简单的

方式。因为编译之后就到target里面,现在把 mapper 中的 xml 文

件进行一个复制,之后直接复制到编译后的 target 中的 mapper 的

文件夹中,在这里面把它粘贴过来。

直接复制并没有问题,实际中也会经常这样来做。那直接把第一部分

的代码复制到 pom 文件,注意不要把位置复制错,要放到

dependencies 的外延,用 build 标签引领。

表示 directory 文件夹中的内容要进行包含加载,包含就是

include。**/*.xml的意思就是加载xml类型的文件。如果写一个*,

就表示加载时一层目录。比如有一个com里面加内容就是一层目录,

如果写两个*就代表多层目录。比如在xml前面有很多级目录,这就

叫多层目录。

②代码如下

<build>

<resources>

<resource>

<directory>src/main/java</dicertory>

<includes>

<include>**/*.xml</include>

</includes>

<filtering>false</filtering>

</resource>

</resources>

<build>

(2)方法二

通过配置文件进行配置,让 maven 默认加载 xml 文件

因为有些人并不想自己复制,而是想让它自动加载。

第二种方法就是通过配置文件进行配置,让 maven 去默认加载 xml

文件。或者还有一种方式,把文件放到 resourse 文件中也可以。当

然更建议用这种直接配置的方法做到。

配置的方法就是在两个地方进行配置。第一个方法就是在 pom.xml

中进行一段配置。

第二个方法就是在 application.properties 进行配置。这是进行配

置的两个地方,两处缺一不可。

首先在 pom 里面进行配置,那找到项目的pom文件。这个配置可以

写到service_edu中。但因为在其它的模块中可能也需要这个xml

文件,所以为了方便都统一放到service中。如果放到普通的edu

或者是oss中也可以,但是这样的活每个模块都要用就都需要些。

统一放到service中,这里面的模块就都可以用了。加完之后注意

路径需要改一下,改为当前的路径。classpath 代表的是类路径。

src里面的内容就是类路径,而在 target 的 classes 中的内容就

是类路径。

③代码如下

mybatis-plus.mapper-

locations=classpath:com/atguigu/eduservice/mapper/xml/*.xml


三、再次启动

启动之后先到 target 里面看一下文件是否已经加载进来,如果没有

的话可能就是因为项目没有更新,那就在项目的路径里看一下。

在 target 中有一个 xml 文件夹,在这里面文件已经有了,这样就

代表已经加载进来了。第一次是没有的,加载进来之后等待执行就可

以了。

关于xml文件怎样加载就是通过配置做到的。注意配置的路径不要

写错。完成之后再到swagger里面测试一下看最终的结果。传入一

个课程id,再点击 tryitout。

代码如下:

“success”:true

“code”:20000

“message”:“成功”

“data”:{

“publishCourse”:{

“id”:“1235001618890838018”,

“title”:“00041”,

“cover”:“static/01.jpg”,

“lessonNum”:10,

“subjectLevelone”:“前端开发”,

“subjectLevelTwo”:“vuc”,

“teacherName”:“王二”,

“price”:“10.00”

相关文章
|
3月前
|
JavaScript 前端开发 程序员
后端程序员的前端必备-jQuery核心学习笔记
后端程序员的前端必备-jQuery核心学习笔记
57 13
|
3月前
|
开发框架 缓存 前端开发
基于SqlSugar的开发框架循序渐进介绍(21)-- 在工作流列表页面中增加一些转义信息的输出,在后端进行内容转换
基于SqlSugar的开发框架循序渐进介绍(21)-- 在工作流列表页面中增加一些转义信息的输出,在后端进行内容转换
|
4月前
|
开发框架 前端开发 JavaScript
ABP框架测试信息---Winform端、动态网站、Vue&Element管理后端等
ABP框架测试信息---Winform端、动态网站、Vue&Element管理后端等
|
4月前
|
开发框架 前端开发 JavaScript
循序渐进VUE+Element 前端应用开发(4)--- 获取后端数据及产品信息页面的处理
循序渐进VUE+Element 前端应用开发(4)--- 获取后端数据及产品信息页面的处理
|
5月前
|
Java
大事件后端项目04-----yml配置信息书写和获取,邮箱如何设计
大事件后端项目04-----yml配置信息书写和获取,邮箱如何设计
|
6月前
|
JSON JavaScript 前端开发
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
|
消息中间件 存储 XML
【易售小程序项目】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
【易售小程序项目】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
156 0
|
前端开发
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建4
前端学习笔记202305学习笔记第二十九天-什么是mvc-后端Mvc架子和vc的创建4
53 0
|
12月前
|
JSON 前端开发 数据格式
获取ztree树的选中子菜单信息并且提交给后端
获取ztree树的选中子菜单信息并且提交给后端
52 0
获取ztree树的选中子菜单信息并且提交给后端
报错信息 "ResultCode:403" 表示后端服务器返回的错误代码是403
报错信息 "ResultCode:403" 表示后端服务器返回的错误代码是403
309 1

热门文章

最新文章

下一篇
无影云桌面