Day10-06.案例-员工管理-分页查询-分析

Day10-06.案例-员工管理-分页查询-分析

1.分页查询-需求:

1.分页查询语法:

​ 参数1:起始索引 = (页码 - 1) * 每页展示记录数

​ 参数2:查询返回的记录数 = 每页展示记录数

    select * from emp limit 0, 5;

    -- 查询第一页数据,每页展示五条记录
    select * from emp limit 0, 5;

    -- 查询第二页数据,每页展示五条记录
    select * from emp limit 1, 5;

    --查询第三页数据,每页展示五条记录
    select * from emp limit 2, 5;

前端给后端传递的参数:

1.当前页码:page

2.每页展示记录数:pageSize

后端给前端返回的参数:

1.数据列表:List(select * from emp limit ?, ?;)

2.总记录数:total(select count(*) from emp;)

在定义一个实体类来封装返回结果,

@Data
public class PageBean{
    private long total;//总记录数
    private List rows;//当前页数据列表
}

2.每层完成的功能:

EmpController:

1.接收分页参数page,pageSize

2.调用Service进行分页查询,获取PageBean

3.响应

EmpService:

1.调用mapper接口查询总记录数total

2.调用mapper接口获取数据列表rows

3.封装PageBean对象,返回

EmpMapper:

1.select count(*) from emp;

2.select * from emp limit ?, ?;

@Slf4j
@RestController
public class EmpController {

    @Autowired
    private EmpService empService;

    @GetMapping("/emps")
    public Result page(@RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "10") Integer pageSize){
        log.info("分页查询,参数:{}, {}", page, pageSize);
        //调用Service分页查询
        PageBean pageBean = empService.page(page, pageSize);

        return Result.success(pageBean);

    }
}
@Service
public class EmpServiceImpl implements EmpService {

    @Autowired
    private EmpMapper empMapper;

    @Override
    public PageBean page(Integer page, Integer pageSize) {
        //获取总记录数
        Long count = empMapper.count();

        //获取分页查询结果列表
        Integer start = (page - 1) * pageSize;
        List<Emp> page1 = empMapper.page(start, pageSize);

        //封装PageBean对象
        PageBean pageBean = new PageBean(count, page1);
        return pageBean;
    }
}
public interface EmpService{
    PageBean page(Integer page, Integer pageSize);
}
@Mapper
public interface EmpMapper {

//    查询总记录数
    @Select("select count(*) from emp")
    public Long count();

    /*分页查询,获取列表数据*/
    @Select("select * from emp limit #{start}, #{pageSize}")
    public List<Emp> page(Integer start, Integer pageSize);
}

@RequestParam的属性defaultValue可以来设置参数的默认值。

3.小结:

1.分页查询:

​ 1.请求参数:页码、每页展示记录数

​ 2.响应结果:总记录数、结果列表(PageBean)

2.注解:

​ @RequestParam(defaultValue = “1”)//设置请求参数默认值

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: surf_cli_chn_mul_day-tem-12001-201501.txt是一个文件名,这个文件可能是一个文本文件。根据文件名的后缀“txt”可以判断出这是一个文本文件。根据文件名中的其他信息,可以猜测这个文件记录了2015年1月份中国地区某个地点的多天的海浪信息和气温信息。 文件名中的“surf_cli_chn_mul_day”可能表示这是一个关于冲浪、气象和中国的多天数据文件。其中“surf”可能指的是冲浪,意味着这个文件中包含有关冲浪条件和海浪高度的数据。而“cli”可能表示气候或气象,意味着这个文件中可能还包含了一些与气温或其他气象要素相关的数据。最后,“chn_mul_day”可能表示这是中国地区多天的数据,指的是这个文件中包含了多天的数据,可能是按日期顺序排列。 根据文件名中的“tem-12001-201501”部分,可以猜测这个文件可能是关于2015年1月份某个地点的气温数据。其中“tem”可能表示气温,而“12001”可能是指某个具体地点的编号或代号。而“201501”则代表了这个文件中记录的是2015年1月份的数据。 总结而言,surf_cli_chn_mul_day-tem-12001-201501.txt这个文件名暗示了这是一个包含了中国某地2015年1月份多天的冲浪和气温数据的文本文件。 ### 回答2: surf_cli_chn_mul_day-tem-12001-201501.txt是一个文件名,它可能表示一个气象数据文件。根据文件名的命名规则,该文件可能包含2015年1月份中国某个城市或地区的多日气温数据。 在该文件中,"surf_cli_chn_mul_day"可能代表"surface climate China multiple day"(中国地面气候多日)的缩写,意味着这是一个包含中国地面气候数据的文件。"tem"可能代表"temperature"(温度),表示该文件中包含的是温度数据。"12001"可能是文件的编号,用于标识该文件属于某个特定的数据集或项目。"201501"代表文件所涵盖的日期范围,可能是2015年1月。 由于题目只提供了文件名,并未提供具体的内容或其他背景信息,因此对于该文件的具体内容和用途,我无法做更详细的解读。要了解更多关于该文件的信息,需要查阅实际的文件内容或者咨询相关的数据提供机构或个人。 ### 回答3: surf_cli_chn_mul_day-tem-12001-201501.txt 是一个文件名,文件中可能包含有关2015年1月份中国多地的冷暖气温数据。 根据文件名可以分析出以下信息: 首先,文件是以“surf_cli_chn_mul_day-tem-12001-”开头的,这可能表示了该文件是多个城市的气温数据。 然后,文件名中的“201501”表示了该文件记录的是2015年1月份的数据。 如果我们打开这个文件,可能会看到以下内容: 该文件可能包含有关中国多个城市在2015年1月份每天的气温数据。这些数据可能以一定的格式来展示,可能按照城市和日期进行分组,并且可能有时间间隔。 该文件可能是一个纯文本文件,我们可以使用文本编辑器来打开它,并查看其中的内容。在文件中,每个城市的气温数据可能以一定的形式被记录,常见的格式可能是每行记录一个数据点,包括城市、日期和相应的气温值。 通过分析该文件,我们可以获得2015年1月份中国多地的气温趋势,可以观察各个城市在这个月份内的气温变化情况,从而对该时期的气候有更多的了解。这些数据对于气象研究、城市规划以及农业生产等领域可能具有重要的参考价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值