当前位置: 首页 > article >正文

学习笔记:黑马程序员JavaWeb开发教程(2025.3.21)

10.7 案例-员工管理-分页查询-分析
    形参的默认值可以使用注解来设置:@RequestParam(default = “1”)

10.8 案例-员工管理-分页查询-PageHelper插件
    分页插件PageHelper帮助完成有关分页的所有操作,我们只要正常使用查询语句就可以了。插件会自动的获取到要执行的sql语句,将要执行的sql语句换成count(*),自动执行这条sql语句,还会对该sql语句进行改造,在后面加上limit关键字,而limit的两个参数,PageHelper会自动根据传递上来的两个参数,来计算起始索引核每一页展示的记录数,之后就获得了分页查询的数据,将分页查询的数据封装到Page<Emp>对象中,最终获取Page对象中封装的分页查询结果
    右下代码块中,empList其实是Page类,所以要强转
 
    使用PageHelper插件,对于控制层的代码,不需要修改,因为控制层是与前端交互,后端技术的迭代是不会影响他与前端的交互。只需要对服务层和mapper层修改

10.9 案例-员工管理-分页条件查询
    只需要在原来的基础上,对于控制层和服务层,加上查询条件参数,对于map层,对sql语句进行修改
 
    在controller层中的方法参数名,要和接口文档当中的参数名保持一致,要不然和前端接不上
    对于日期时间类参数要想成功接收,要通过注解来指定需要前端传递过来的格式,使用@DateTimeFoemat
    对于map层的修改,要使用where进行筛选,但是查询条件是动态的,所以要使用动态sql,动态sql使用xml文件来定义
    Xml映射文件定义的三点规范:同包同名,在resource下定义和map文件相同的包
        Xml文件的约束可以从mabatis官网上得到
        第二点规范是,map标签的namespace必须和map接口的全类名保持一致
        Sql语句的id必须与map接口的方法名保持一致,而且返回类型一致,xml文件中的返回类型是单条记录的返回类型
        设置动态sql,例如,像name这样的属性可能没有输入,因此要使用if这样的标签来进行动态sql,使用test属性来指定条件。对于由于条件成立与否造成的语句报错,就是多一个where或者and之类的,应该使用<where>标签。<where>标签的作用是判断是否要生成where子句以及是否要去掉其中多余的and、or
 
    对于name,没有传参的时候,还是有拼接根据姓名进行模糊匹配的语句,传递进来的参数实际是应该空字符串(这里是因为name是String类型,当为空的时候,传进来的不是null,是空字符串),但是在xml语句中,没有对中国条件进行筛选,因此应该增加条件
    总结,条件分页查询分为条件查询和分页查询实现
 
    在实操的时候,对于EmpServiceLmpl文件,中和map交互的部分产生疑惑,不知道该往哪里传参,应该往List<Emp> empList = empMapper.list(),往list方法中传递筛选条件参数


http://www.kler.cn/a/596185.html

相关文章:

  • 卷积神经网络 - 汇聚层
  • 使用Three.js渲染器创建炫酷3D场景
  • m4i.22xx-x8系列-PCIe总线直流耦合5G采集卡
  • 基于Django的动物图像识别分析系统
  • 阿里云平台Vue项目打包发布
  • EtherCAT 八口交换机方案测试介绍,FCE1100助力工业交换机国产芯快速移植。
  • 《Python实战进阶》No26: CI/CD 流水线:GitHub Actions 与 Jenkins 集成
  • DeepSeek 3FS 与 JuiceFS:架构与特性比较
  • C++《红黑树》
  • 微信小程序登陆之反向代理
  • 接口自动化测试框架详解
  • LLM(大型语言模型) 和 VLM(视觉语言模型)
  • Cursor IDE 入门指南
  • 基于springboot的甘肃非物质文化网站(030)
  • 多语言生成语言模型的少样本学习
  • 由于 “系统找不到指定的路径” 导致Pymol_1.8_win-7_64bit 安装失败的原因分析与解决方法
  • Qt 关键技术点总结与实践经验
  • WireShark与rtps协议组合使用
  • Spring Data JPA 参数陷阱:从 500 错误到完美解决的奇妙之旅 ✨
  • 【论文笔记】Transformer