编写:
XXXMpper.java 接口:
package com.atguigu.eduservice.mapper; import com.atguigu.eduservice.entity.EduCourse; import com.atguigu.eduservice.entity.vo.CoursePublishVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * 课程 Mapper 接口 * </p> * * @author testjava * @since 2021-02-21 */ public interface EduCourseMapper extends BaseMapper<EduCourse> { public CoursePublishVo getPublishCourseInfo(String courseId); }
对应XXXMapper.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.atguigu.eduservice.mapper.EduCourseMapper"> <!--sql语句:根据课程id查询课程确认信息--> <select id="getPublishCourseInfo" resultType="com.atguigu.eduservice.entity.vo.CoursePublishVo"> SELECT ec.id,ec.title,ec.price,ec.lesson_num AS lessonNum,ec.cover, et.name AS teacherName, es1.title AS subjectLevelOne, es2.title AS subjectLevelTwo FROM edu_course ec LEFT OUTER JOIN edu_course_description ecd ON ec.id=ecd.id LEFT OUTER JOIN edu_teacher et ON ec.teacher_id=et.id LEFT OUTER JOIN edu_subject es1 ON ec.subject_parent_id=es1.id LEFT OUTER JOIN edu_subject es2 ON ec.subject_id=es2.id WHERE ec.id=#{courseId} </select> </mapper>
XXXService.java 接口 :
package com.atguigu.eduservice.service; import com.atguigu.eduservice.entity.EduCourse; import com.atguigu.eduservice.entity.vo.CourseInfoVo; import com.atguigu.eduservice.entity.vo.CoursePublishVo; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 课程 服务类 * </p> * * @author testjava * @since 2021-02-21 */ public interface EduCourseService extends IService<EduCourse> { //根据课程id查询课程确认信息 CoursePublishVo publishCourseInfo(String id); }
XXXServiceImpl.java :
package com.atguigu.eduservice.service.impl; import com.atguigu.eduservice.entity.EduCourse; import com.atguigu.eduservice.entity.EduCourseDescription; import com.atguigu.eduservice.entity.vo.CourseInfoVo; import com.atguigu.eduservice.entity.vo.CoursePublishVo; import com.atguigu.eduservice.mapper.EduCourseMapper; import com.atguigu.eduservice.service.EduCourseDescriptionService; import com.atguigu.eduservice.service.EduCourseService; import com.atguigu.servicebase.exceptionhandler.GuliException; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; /** * <p> * 课程 服务实现类 * </p> * * @author testjava * @since 2021-02-21 */ @Service public class EduCourseServiceImpl extends ServiceImpl<EduCourseMapper, EduCourse> implements EduCourseService { //根据课程id查询课程确认信息 @Override public CoursePublishVo publishCourseInfo(String id) { //调用mapper CoursePublishVo publishCourseInfo = baseMapper.getPublishCourseInfo(id); return publishCourseInfo; } }
XXXController.java
....
//根据课程id查询课程确认信息 @GetMapping("getPublishCourseInfo/{id}") public R getPublishCourseInfo(@PathVariable String id) { CoursePublishVo coursePublishVo = courseService.publishCourseInfo(id); return R.ok().data("publishCourse",coursePublishVo); }
....
标题问题解决:
pom.xml
....
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 --> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
</project>
application.properties :
#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/atguigu/eduservice/mapper/xml/*.xml