A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张廷籴 初级黑马   /  2019-6-21 13:55  /  764 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

- 分页查询
  - 核心点:分析当前页面需要什么数据,服务器需要什么数据----->服务器需要接受的参数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());

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马