- 分页查询
- 核心点:分析当前页面需要什么数据,服务器需要什么数据----->服务器需要接受的参数currentPage以及rows,服务器输出给视图层的数据:PageBean
- currentPage当前页
- rows 每页条数
- List<User> 展示的5条数据---dao查询(start,rows) 0,5 5,5 10,5
- 索引start = (currentPage -1 )*rows
- totalCount 总记录数---dao查询
- totalPage 总页码数 = totalCount % rows == 0 ? totalCount / rows : totalCount /rows +1
- 模糊查询
- 核心点:动态SQL
- 需要将查询的参数传递给service,再传递给dao进行条件的判断查询
- 查询List<User> 条件分页查询
1. 定义sql的模板 : select * from user where 1= 1
2. 遍历传递过来的Map集合
1. 排除currentPage 以及 rows
2. 判断每个key对应的value是否为null或空字符串
1. 如果不为null或空字符串--->sb.append(" and "+key+"like ? ")
2. 将value添加到List集合中,params.add("%"+value+"%")
3. 调用template.query(sb.toString(),new BeanPropertyRowMapper(User)<User.class>,params.toArray());
|
|