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>
相关推荐
老华带你飞1 小时前
电影购票|基于java+ vue电影购票系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
老华带你飞1 小时前
宠物管理|基于java+ vue宠物管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·宠物
鸽芷咕2 小时前
告别适配难题:Oracle 迁移 KingbaseES SQL 语法快速兼容方案
数据库·sql·oracle·金仓数据库
VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue智慧医药系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
安当加密9 小时前
MySQL 数据库如何加密脱敏?TDE透明加密 + DBG数据库网关 双引擎加固实战
数据库·mysql·adb
IT技术分享社区9 小时前
MySQL统计查询优化:内存临时表的正确打开方式
数据库·mysql·程序员
短剑重铸之日9 小时前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
好记忆不如烂笔头abc10 小时前
RECOVER STANDBY DATABASE FROM SERVICE xxx,ORA-19909
数据库
writeone10 小时前
数据库习题
数据库
廋到被风吹走11 小时前
【数据库】【Oracle】分析函数与窗口函数
数据库·oracle