zoukankan      html  css  js  c++  java
  • 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_01-我的课程-需求分析与PageHelper技术


    1 我的课程
    1.1需求分析
    课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询。
    注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示。


    上边的查询要实现分页、会存在多表关联查询,所以建议使用mybatis实现我的课程查询。

    1.2 PageHelper
    1.2.1 PageHelper介绍
    PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句,
    最终实现分页查询功能。
    我的课程具有分页功能,本项目使用Pagehelper实现Mybatis分页功能开发,由于本项目使用springboot开发,在
    springboot上集成pagehelper(https://github.com/pagehelper/pagehelper-spring-boot)
    PageHelper的使用方法及原理如下:
    在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中
    PageHelper在mybatis执行sql前进行拦截,从ThreadLocal取出分页参数,修改当前执行的sql语句,添加分页
    sql。
    最后执行添加了分页sql的sql语句,实现分页查询。


    这是课程的基本信息表,这个表中没有课程图片的

    所以要显示课程的图片就必须要关联课程图片表

    所以这个查询建议用Mybatis来做

    通过Mybatis拦截器,由pageHelper对它进行拦截,从ThreadLocal中取出page和size参数,由pageHelper来拼装sql语句

    添加引用



    配置数据库的类型

    定义方法

    注意返回类型

    定义查询课程列表的方法

    xml内配置

    测试

    执行startPage方法就会把参数设置到ThreadLocal。在拦截器里面  Mybatis执行之前就会拿到设置的页码和每页显示的数据量

    然后下面正常的执行查询就可以了


    在测试之前可以把日志设置到debug。主要用来看Mybatis里面打印出来的sql语句是什么


    可以查询到10条记录


    参数要在service里面设置,也就是在调用dao之前设置分页的页码

    图片是分布式的文件地址,现在只需要做查询显示出来图片就可以了








     

  • 相关阅读:
    ES6 -- (1) 简介、let、块级作用域、const、顶层对象的属性、globalThis对象
    TS -- (5)声明合并、代码检查
    TS -- (4)类、类与接口、泛型
    TS -- (3)声明文件、内置对象、类型别名、字符串字面量类型、元组、枚举
    TS -- (2)接口、数组的类型、函数的类型
    TS -- (1)环境,快速入门,基础类型,类型断言、变量声明、解构、展开
    css的三定位方式的区别
    Array循环
    scroll操作
    【Nodejs】记一次图像识别的冒险
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11628215.html
Copyright © 2011-2022 走看看