diff --git a/pom.xml b/pom.xml
index c470267..b2ced62 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,6 +33,8 @@
             <scope>test</scope>
         </dependency>
 
+
+
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid-spring-boot-starter</artifactId>
@@ -56,13 +58,18 @@
             <version>5.0.7</version>
         </dependency>
 
+<!--        <dependency>-->
+<!--            <groupId>com.github.pagehelper</groupId>-->
+<!--            <artifactId>pagehelper</artifactId>-->
+<!--            <version>5.3.2</version>-->
+<!--        </dependency>-->
+
         <dependency>
             <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper</artifactId>
-            <version>5.3.2</version>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+            <version>1.4.6</version>
         </dependency>
 
-
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
             <artifactId>knife4j-spring-boot-starter</artifactId>
diff --git a/src/main/java/com/zhiyun/zhiyun03/application/mapper/DirectoryMapper.java b/src/main/java/com/zhiyun/zhiyun03/application/mapper/DirectoryMapper.java
index 2de95b0..3dc326d 100644
--- a/src/main/java/com/zhiyun/zhiyun03/application/mapper/DirectoryMapper.java
+++ b/src/main/java/com/zhiyun/zhiyun03/application/mapper/DirectoryMapper.java
@@ -6,4 +6,5 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface DirectoryMapper extends BaseMapper<Directory> {
+    Integer selectByName(String dirName);
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java b/src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java
deleted file mode 100644
index e5e1263..0000000
--- a/src/main/java/com/zhiyun/zhiyun03/course/config/MybatisPlusConfig.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.zhiyun.zhiyun03.course.config;
-
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class MybatisPlusConfig {
-    // 从MyBatis-Plus 3.4.0开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor
-    @Bean
-    public MybatisPlusInterceptor mybatisPlusInterceptor() {
-        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        // 向MyBatis-Plus的过滤器链中添加分页拦截器,需要设置数据库类型(主要用于分页方言)
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
-        return interceptor;
-    }
-}
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
index e52020f..040e035 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/controller/CourseController.java
@@ -1,6 +1,7 @@
 package com.zhiyun.zhiyun03.course.controller;
 
 
+import com.zhiyun.zhiyun03.application.entity.Directory;
 import com.zhiyun.zhiyun03.course.entity.Course;
 
 import com.zhiyun.zhiyun03.course.service.CourseService;
@@ -11,6 +12,7 @@ import com.zhiyun.zhiyun03.utils.common.JsonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -26,41 +28,48 @@ public class CourseController {
     private CourseService courseService;
 
 
+
     @ApiOperation("查询课程")
-    @GetMapping("/selectAll")
-    public JsonResult<CourseVo> queryCourse(){
+    @GetMapping("/queryCourse")
+    public JsonResult<PageVO<CourseVo>> queryCourse(@ApiParam @RequestParam(value = "page",required = false,defaultValue = "1")Integer page,
+                                            @ApiParam @RequestParam(value = "limit",required = false,defaultValue = "1")Integer limit ){
 
-        List<CourseVo> lists =  courseService.queryCourse();
+        PageVO<CourseVo> lists =  courseService.queryCourse(page,limit);
 
         return JsonResult.success(lists);
     }
 
+    @ApiOperation("根据ID查询课程")
+    @GetMapping("/queryCourseById")
+    public JsonResult<CourseVo> queryCourseById(Integer id){
+
+        CourseVo courseVo =courseService.queryCourseById(id);
+
+        return JsonResult.success(courseVo);
+    }
+
+
+
 
     @ApiOperation("课程添加")
-    @PostMapping("/add")
-    public JsonResult addCourse(Course course){
-        courseService.addCourse(course);
+    @PostMapping("/addCourse")
+    public JsonResult addCourse(CourseVo courseVo){
+       int count = courseService.addCourse(courseVo);
+
         return JsonResult.success();
     }
-//
-////    @ApiOperation("查询目录")
-////    @PostMapping("/select")
-////    public JsonResult selectDir(Directory directory){
-////        courseService.se(course);
-////        return JsonResult.ok();
-////    }
-//
+
     @ApiOperation("删除课程")
-    @DeleteMapping("delById")
+    @DeleteMapping("delCourseById")
     public JsonResult delCourseById(Integer id){
         courseService.delCourseById(id);
         return JsonResult.success();
     }
 
     @ApiOperation("更新课程")
-    @PostMapping("update")
-    public JsonResult updateById(Course course){
-        courseService.update(course);
+    @PostMapping("updateById")
+    public JsonResult updateById(CourseVo courseVo){
+      int count =   courseService.updateById(courseVo);
         return JsonResult.success();
     }
 
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java b/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
index 2548fa2..03358bc 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/mapper/CourseMapper.java
@@ -2,6 +2,8 @@ package com.zhiyun.zhiyun03.course.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiyun.zhiyun03.course.entity.Course;
+import com.zhiyun.zhiyun03.course.vo.CourseVo;
+import com.zhiyun.zhiyun03.course.vo.PageVO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -10,5 +12,9 @@ import java.util.List;
 public interface CourseMapper extends BaseMapper<Course> {
 
 
+    List<CourseVo> queryCourse();
 
+    CourseVo queryCourseById(Integer id);
+
+    int updateCourseById(Course course);
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
index ef858c1..bf40208 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/CourseService.java
@@ -16,12 +16,18 @@ public interface CourseService extends IService<Course> {
 //
 //    void updateById(Course course);
 
+    /*
+    * 分页查询课程
+    * */
+    PageVO<CourseVo> queryCourse(Integer page, Integer limit );
 
-    List<CourseVo> queryCourse();
-
-    void addCourse(Course course);
+    int addCourse(CourseVo courseVo);
 
     void delCourseById(Integer id);
 
-    void update(Course course);
+    int updateById(CourseVo courseVo);
+    /*
+     * 根据ID查询课程
+     * */
+    CourseVo queryCourseById(Integer id);
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
index 77a1885..d78e89f 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/service/impl/CourseServiceImpl.java
@@ -1,15 +1,17 @@
 package com.zhiyun.zhiyun03.course.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhiyun.zhiyun03.application.entity.Directory;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.zhiyun.zhiyun03.application.mapper.DirectoryMapper;
-import com.zhiyun.zhiyun03.utils.convert.ConvertUtil;
+import com.zhiyun.zhiyun03.course.vo.PageVO;
 import com.zhiyun.zhiyun03.course.entity.Course;
 import com.zhiyun.zhiyun03.course.service.CourseService;
 import com.zhiyun.zhiyun03.course.vo.CourseVo;
 import com.zhiyun.zhiyun03.course.mapper.CourseMapper;
+import com.zhiyun.zhiyun03.utils.exception.ServiceException;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -24,33 +26,29 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
     @Resource
    private DirectoryMapper directoryMapper;
 
-
-
     /**
-     * 应用中心查询
+     * 课程中心查询
      */
     @Override
-    public List<CourseVo> queryCourse() {
-
-        QueryWrapper<Course> qwa=new QueryWrapper<>();
-        List<Course> courses = courseMapper.selectList(qwa);
-        QueryWrapper<Directory> qwd=new QueryWrapper<>();
-        List<Directory> directories = directoryMapper.selectList(qwd);
-        ConvertUtil convertUtil=new ConvertUtil();
-        List<CourseVo> applicationVos = convertUtil.entityToVoList(courses, CourseVo.class);
-
-        for (int i = 0; i < courses.size(); i++) {
-            for (int j = 0; j <directories.size() ; j++) {
-                //判断目录id是否相等
-                if(courses.get(i).getDirId()==directories.get(j).getId()){
-                    //将目录名称添加到vo类中
-                    applicationVos.get(i).setDirName(directories.get(j).getDirName());
-                }
-            }
-        }
-        return applicationVos;
-
-
+    public PageVO<CourseVo> queryCourse(Integer page, Integer limit) {
+        //开启分页
+        PageHelper.startPage(page,limit);
+        //查询所有课程
+      List<CourseVo> courseVoList  = courseMapper.queryCourse();
+      if (courseVoList.isEmpty())
+      {
+          throw new ServiceException("400","课程数据为空");
+      }
+        PageInfo<CourseVo> pageInfo = new PageInfo<CourseVo>(courseVoList);
+        PageVO<CourseVo> courseVoPageInfo = new PageVO<>();
+        //当前页
+        courseVoPageInfo.setCurrentPage(pageInfo.getPageNum());
+        //总条数
+        courseVoPageInfo.setTotal(pageInfo.getTotal());
+        //分页数据
+        courseVoPageInfo.setList(pageInfo.getList());
+
+        return courseVoPageInfo;
 
     }
 
@@ -59,12 +57,29 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
      * 添加课程
      */
     @Override
-    public void addCourse(Course course) {
+    public int addCourse(CourseVo courseVo) {
+
+        if (courseVo == null)
+        {
+            throw new ServiceException("400","课程添加失败");
+        }
+
+        Course course = new Course();
+
+        BeanUtils.copyProperties(courseVo,course);
+
+        String dirName = courseVo.getDirName();
 
-        courseMapper.insert(course);
-//        UpdateWrapper<Directory> updateWrapper = new UpdateWrapper<>();
-//        updateWrapper.set("id",course.getDirId());
-//        directoryMapper.update(null,updateWrapper);
+       Integer id = directoryMapper.selectByName(dirName);
+       course.setDirId(id);
+
+        int count = courseMapper.insert(course);
+        System.out.println("count====="+count);
+        if (count<0)
+        {
+            throw new ServiceException("400","课程添加失败");
+        }
+        return count;
 
 
     }
@@ -81,16 +96,34 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
      * 课程更新
      */
     @Override
-    public void update(Course course) {
-        //变更数据进行更新
-        UpdateWrapper<Course> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("course_name",course.getCourseName());
-        updateWrapper.set("course_brief",course.getCourseBrief());
-        updateWrapper.set("course_url",course.getCourseUrl());
-        updateWrapper.set("dir_id",course.getDirId());
-        updateWrapper.set("course_icon",course.getCourseIcon());
-        updateWrapper.eq("id",course.getId());
-        courseMapper.update(null,updateWrapper);
+    public int updateById(CourseVo courseVo) {
+        Course course = new Course();
+        BeanUtils.copyProperties(courseVo,course);
+        String dirName = courseVo.getDirName();
+        Integer id = directoryMapper.selectByName(dirName);
+        course.setDirId(id);
+
+        int count = courseMapper.updateCourseById(course);
+        if (count<0)
+        {
+            throw new ServiceException("400","课程更新失败");
+        }
+        return count;
+
+    }
+
+    /**
+     * 根据ID查询课程
+     */
+    @Override
+    public CourseVo queryCourseById(Integer id) {
+        //根据id查找数据
+        CourseVo courseVo =   courseMapper.queryCourseById(id);
+        if (courseVo==null)
+        {
+            throw new ServiceException("401","课程不存在");
+        }
+        return courseVo;
     }
 
 
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java b/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
index 804ee88..6ab9a15 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/vo/CourseVo.java
@@ -9,13 +9,14 @@ public class CourseVo {
     @TableId
     private int id;
 
+    //课程名
     private String courseName;
-
+    //课程简介
     private String courseBrief;
-
+    //课程链接
     private String courseUrl;
-
+    //归属目录
     private String dirName;
-
+    //课程图标
     private String courseIcon;
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java b/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java
index f37cbee..ae0ddb7 100644
--- a/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java
+++ b/src/main/java/com/zhiyun/zhiyun03/course/vo/PageVO.java
@@ -7,7 +7,10 @@ import java.util.List;
 @Data
 public class PageVO<T> {
 
+    //当前页
     private Integer currentPage;
+    //总条数
     private Long total;
+    //数据
     private List<T> list;
 }
diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/config/GlobalCrossConfig.java b/src/main/java/com/zhiyun/zhiyun03/utils/config/GlobalCrossConfig.java
new file mode 100644
index 0000000..f204a79
--- /dev/null
+++ b/src/main/java/com/zhiyun/zhiyun03/utils/config/GlobalCrossConfig.java
@@ -0,0 +1,33 @@
+package com.zhiyun.zhiyun03.utils.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+
+@Configuration
+public class GlobalCrossConfig {
+    @Bean
+    public CorsFilter corsFilter() {
+        //1. 添加 CORS配置信息
+        CorsConfiguration config = new CorsConfiguration();
+        //放行哪些原始域,*表示所有
+        // config.addAllowedOrigin("*");
+        // 注意:springboot2.4以上使用该方式
+        config.addAllowedOriginPattern("*");
+        //是否发送 Cookie
+        config.setAllowCredentials(true);
+        //放行哪些请求方式
+        config.addAllowedMethod("*");
+        //放行哪些原始请求头部信息
+        config.addAllowedHeader("*");
+        //暴露哪些头部信息
+        config.addExposedHeader("*");
+        //2. 添加映射路径
+        UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource();
+        corsConfigurationSource.registerCorsConfiguration("/**", config);
+        //3. 返回新的CorsFilter
+        return new CorsFilter(corsConfigurationSource);
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5667f33..2a02a29 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -16,7 +16,7 @@ spring:
     druid:
       url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
       username: root
-      password: 123456
+      password: root
 
 
 
@@ -25,5 +25,15 @@ mybatis-plus:
   configuration:
     # 控制台打印日志
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+
+
+pagehelper:
+  helper-dialect: mysql
+  reasonable: true
+  support-methods-arguments: true
+
+
+
 swagger:
   enabled: true
diff --git a/src/main/resources/mapper/CourseMapper.xml b/src/main/resources/mapper/CourseMapper.xml
new file mode 100644
index 0000000..f2909f8
--- /dev/null
+++ b/src/main/resources/mapper/CourseMapper.xml
@@ -0,0 +1,51 @@
+<?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.zhiyun.zhiyun03.course.mapper.CourseMapper">
+
+
+        <update id="updateCourseById">
+            update course
+            <set >
+                <if test="courseName != null" >
+                    course_name=#{courseName},
+                </if>
+                <if test="courseUrl != null" >
+                    course_url=#{courseUrl},
+                </if>
+                <if test="courseBrief != null" >
+                    course_brief=#{courseBrief},
+                </if>
+                <if test="dirId != null" >
+                    dir_id=#{dirId},
+                </if>
+                <if test="courseIcon != null" >
+                    course_icon=#{courseIcon}
+                </if>
+            </set>
+            <where>
+                <if test="id!=null">
+                    id = #{id}
+                </if>
+            </where>
+        </update>
+
+
+    <select id="queryCourse" resultType="com.zhiyun.zhiyun03.course.vo.CourseVo">
+        select c.id,c.course_name,c.course_brief,c.course_url,d.dir_name,c.course_icon,c.course_addtime,c.course_updatetime
+        from course as c
+                 inner join
+                 (select * from directory) as d
+                 on c.dir_id = d.id
+--         where d.id=c.dir_id
+    </select>
+
+    <select id="queryCourseById" resultType="com.zhiyun.zhiyun03.course.vo.CourseVo">
+        select c.id,c.course_name,c.course_brief,c.course_url,d.dir_name,c.course_icon,c.course_addtime,c.course_updatetime
+        from course as c
+                 inner join
+                 (select * from directory) as d
+                 on c.dir_id = d.id
+        where c.id =#{id}
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/DirectoryMapper.xml b/src/main/resources/mapper/DirectoryMapper.xml
index 8055e7d..d02639e 100644
--- a/src/main/resources/mapper/DirectoryMapper.xml
+++ b/src/main/resources/mapper/DirectoryMapper.xml
@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zhiyun.zhiyun03.application.mapper.DirectoryMapper">
 
+    <select id="selectByName" resultType="java.lang.Integer">
+        select id from directory where dir_name =#{dirName}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/layui-v2.6.8/courseList.html b/src/main/resources/templates/layui-v2.6.8/courseList.html
index da6688c..a3b4daf 100644
--- a/src/main/resources/templates/layui-v2.6.8/courseList.html
+++ b/src/main/resources/templates/layui-v2.6.8/courseList.html
@@ -25,38 +25,100 @@
     <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
 </script>
 
+<!--<script src="layui/layui.js" charset="utf-8"></script>-->
+<!--&lt;!&ndash; 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 &ndash;&gt;-->
+<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>-->
+
+
+<!--<script>-->
+<!--    layui.use('table', function(){-->
+<!--        var table = layui.table;-->
+
+<!--        //温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。-->
+<!--        //详见:http://www.ilayuis.com/doc/modules/table.html#totalRow-->
+<!--        table.render({-->
+<!--            elem: '#test'-->
+<!--            ,url:'http://localhost:8080/api/course/queryCourse'-->
+<!--            ,toolbar: '#toolbarDemo'-->
+<!--            ,title: '课程数据表'-->
+<!--            ,totalRow: true-->
+<!--            ,cols: [[-->
+<!--                 {type: 'checkbox', fixed: 'left'}-->
+<!--                ,{field:'id', title:'编号', width:120, sort: true, }-->
+<!--                ,{field:'courseName', title:'课程名称', width:120}-->
+<!--                ,{field:'courseBrief', title:'课程简介', width:120}-->
+<!--                ,{field:'courseUrl', title:'超链接', width:120}-->
+<!--                ,{field:'dirName', title:'归属目录', width:120}-->
+<!--                ,{field:'courseIcon', title:'课程图标', width:120}-->
+<!--                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}-->
+<!--            ]]-->
+<!--            ,page: true-->
+<!--        });-->
+
+<!--        //工具栏事件-->
+<!--        table.on('toolbar(test)', function(obj){-->
+<!--            var checkStatus = table.checkStatus(obj.config.id);-->
+<!--            switch(obj.event){-->
+<!--                case 'getCheckData':-->
+<!--                    var data = checkStatus.data;-->
+<!--                    layer.alert(JSON.stringify(data));-->
+<!--                    break;-->
+<!--                case 'getCheckLength':-->
+<!--                    var data = checkStatus.data;-->
+<!--                    layer.msg('选中了:'+ data.length + ' 个');-->
+<!--                    break;-->
+<!--                case 'isAll':-->
+<!--                    layer.msg(checkStatus.isAll ? '全选': '未全选')-->
+<!--                    break;-->
+<!--            };-->
+<!--        });-->
+<!--    });-->
+<!--</script>-->
+
 
 <script src="layui/layui.js" charset="utf-8"></script>
 <!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
-<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
 
+<!-- 引入jquery-3.5.1.min.js -->
+<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"></script>
 
 <script>
     layui.use('table', function(){
         var table = layui.table;
 
-        //温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
-        //详见:http://www.ilayuis.com/doc/modules/table.html#totalRow
         table.render({
             elem: '#test'
-            ,url:'http://localhost:8080/api/course/selectAll'
-            ,toolbar: '#toolbarDemo'
+            ,url:'http://localhost:8080/api/course/queryCourse'/*tpa=https://www.layuiweb.com/test/table/demo1.json*/
+            ,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
+            ,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
+                title: '提示'
+                ,layEvent: 'LAYTABLE_TIPS'
+                ,icon: 'layui-icon-tips'
+            }]
             ,title: '课程数据表'
-            ,totalRow: true
             ,cols: [[
-                 {type: 'checkbox', fixed: 'left'}
+                {type: 'checkbox', fixed: 'left'}
                 ,{field:'id', title:'编号', width:120, sort: true, }
                 ,{field:'courseName', title:'课程名称', width:120}
                 ,{field:'courseBrief', title:'课程简介', width:120}
                 ,{field:'courseUrl', title:'超链接', width:120}
                 ,{field:'dirName', title:'归属目录', width:120}
-                // ,{field:'courseIcon', title:'编号', width:120}
+                ,{field:'courseIcon', title:'课程图标', width:120}
                 ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
             ]]
-            ,page: true
+            ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
+                //layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
+                layout: ['count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
+                ,curr: 1 //设定初始在第 1 页
+                ,groups: 3 //只显示 3 个连续页码
+                ,first:"首页" //显示首页
+                ,last:"尾页"  //显示尾页
+                ,limit: 2 //每页显示两条数据(和后端保持一致)
+                //,limits: [1,3,5]
+            }
         });
 
-        //工具栏事件
+        //头工具栏事件
         table.on('toolbar(test)', function(obj){
             var checkStatus = table.checkStatus(obj.config.id);
             switch(obj.event){
@@ -69,10 +131,53 @@
                     layer.msg('选中了:'+ data.length + ' 个');
                     break;
                 case 'isAll':
-                    layer.msg(checkStatus.isAll ? '全选': '未全选')
+                    layer.msg(checkStatus.isAll ? '全选': '未全选');
+                    break;
+
+                //自定义头工具栏右侧图标 - 提示
+                case 'LAYTABLE_TIPS':
+                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                     break;
             };
         });
+
+        //监听行工具事件
+        table.on('tool(test)', function(obj){
+            var data = obj.data;
+            //console.log(obj)
+            if(obj.event === 'del'){
+                layer.confirm('真的删除行么', function(index){
+                    //obj.del();//删除表结构
+                    layer.close(index);
+
+                    //获取要删除的歌曲的id
+                    var deleteMusicId = data.musicId;
+
+                    //发送Ajax到后台,进行删除操作
+                    $.get("music/after/delete.do", { "musicId": deleteMusicId},
+                        function(data){
+                            if("success" == data){
+                                location.reload();//重新加载当前页面
+                            }
+                        });
+
+
+                });
+            } else if(obj.event === 'edit'){
+                // layer.prompt({
+                //     formType: 2
+                //     ,value: data.email
+                // }, function(value, index){
+                //     obj.update({
+                //         email: value
+                //     });
+                //     layer.close(index);
+                // });
+
+                //layer.alert(JSON.stringify(data));
+                selectOne(data);
+            }
+        });
     });
 </script>
 
diff --git a/src/main/resources/templates/layui-v2.6.8/index.html b/src/main/resources/templates/layui-v2.6.8/index.html
index 5128b87..fc35088 100644
--- a/src/main/resources/templates/layui-v2.6.8/index.html
+++ b/src/main/resources/templates/layui-v2.6.8/index.html
@@ -54,7 +54,7 @@
             <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
             <ul class="layui-nav layui-nav-tree" lay-filter="test">
                 <li class="layui-nav-item layui-nav-itemed">
-                    <a class="" href="javascript:;" onclick="openUrl('courseList.html')">课程中心</a>
+                    <a class="" href="javascript:;" onclick="openUrl('courseList1.html')">课程中心</a>
                 </li>
                 <li class="layui-nav-item">
                     <a href="javascript:;">应用中心</a>