SpringBoot---myBatis数据库操作

一,分页查询

  • 现在controller中设置参数,@RequestParam(defaultValue = "1") 设置默认值
java 复制代码
@GetMapping
public Result page(@RequestParam(defaultValue = "1") Integer page,
                 @RequestParam(defaultValue = "10") Integer pageSize,
                 String name, Short gender,
                 @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
                 @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end){
log.info("分页查询, 参数: {},{},{},{},{},{}",page,pageSize,name,gender,begin,end);
//调用service分页查询
PageBean pageBean = empService.page(page,pageSize,name,gender,begin,end);
return Result.success(pageBean);
}
  • 然后再service实现类中
java 复制代码
@Override
    public PageBean page(Integer page, Integer pageSize,String name, Short gender, LocalDate begin, LocalDate end) {
        //1. 设置分页参数
        PageHelper.startPage(page,pageSize);

        //2. 执行查询
        List<Emp> empList = empMapper.list(name, gender, begin, end);
        Page<Emp> p = (Page<Emp>) empList;

        //3. 封装PageBean对象
        PageBean pageBean = new PageBean(p.getTotal(), p.getResult());
        return pageBean;
    }
  • 再Mapper接口中
java 复制代码
public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
  • 然后再resources下创建xml文件
XML 复制代码
 <!--条件查询-->
    <select id="list" resultType="com.itheima.pojo.Emp">
        select *
        from emp
        <where>
          <if test="name != null and name != ''">
              name like concat('%', #{name}, '%')
          </if>
          <if test="gender != null">
              and gender = #{gender}
          </if>
          <if test="begin != null and end != null">
              and entrydate between #{begin} and #{end}
          </if>
        </where>
        order by update_time desc
    </select>
相关推荐
前路不黑暗@4 分钟前
Java项目:Java脚手架项目的意义和环境搭建(一)
java·开发语言·spring boot·学习·spring cloud·maven·idea
heimeiyingwang6 分钟前
Chroma(轻量级向量数据库) 与 MongoDB(文档型 NoSQL 数据库) 的细节拆解
数据库·mongodb·nosql
宇擎智脑科技8 分钟前
SurrealDB:面向AI原生应用的新一代多模型数据库深度解析
数据库·人工智能·ai-native
IT_Octopus11 分钟前
AI 工程 生产级别 向量数据库 Milvus 部署架构&多租户方案&节点流程简单总结
数据库·架构·milvus
xuzhiqiang072412 分钟前
【Flask】四、flask连接并操作数据库
数据库·python·flask
TDengine (老段)24 分钟前
TDengine IDMP 数据可视化 6. 资产列表
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
ℳ₯㎕ddzོꦿ࿐35 分钟前
[特殊字符] 【踩坑记录】没调 startPage(),SQL 却被自动分页了?
数据库·sql
I'm Jie35 分钟前
【已解决】SqlAlchemy 插入 MySQL JSON 字段时 None 变为 ‘null‘ 字符串,WHERE IS NULL 失效
数据库·python·mysql·json·fastapi·sqlalchemy
之歆36 分钟前
MySQL 数据库理论、安装、查询、事务与备份恢复
数据库·mysql·adb
消失的旧时光-194339 分钟前
第二十二课:领域建模实战——订单系统最小闭环(实战篇)
java·开发语言·spring boot·后端