当前位置: 首页 > wzjs >正文

长沙做网站a微联讯点很好梧州网站seo

长沙做网站a微联讯点很好,梧州网站seo,环球易购做中东的网站,免费做金融网站有哪些基于PageHelper的分页查询 ‘PageHelper是基于java的一个开源框架,用于在MyBatis等持久层框架中方便地进行分页查询操作。它提供了一组简单易用的API和拦截器机制,可以帮助开发者快速集成和使用分页功能。 PageHelper的主要功能包括: 分页…

基于PageHelper的分页查询

‘PageHelper是基于java的一个开源框架,用于在MyBatis等持久层框架中方便地进行分页查询操作。它提供了一组简单易用的API和拦截器机制,可以帮助开发者快速集成和使用分页功能。

PageHelper的主要功能包括:

分页查询支持:PageHelper提供了直接在SQL语句中添加分页相关的信息,如页码、每页记录数等,从而实现分页查询功能。
参数解析和设置:PageHelper可以解析传入的查询参数,并自动设置分页的相关参数,无需手动计算和设置。
SQL拦截器:PageHelper通过自定义的SQL拦截器拦截和处理查询SQL,自动添加分页的SQL语句,实现分页查询。
排序支持:PageHelper还提供了对排序的支持,可以在分页查询中指定排序字段和排序方式。
分页信息返回:PageHelper会将查询结果封装在一个Page对象中,包含了分页的相关信息,如总记录数、总页数等。
PageHelper的底层原理是拦截,拦截需要进行分页查询的SQL请求,读取用户传入参数,自主构造分页SQL语句。

它的使用很便利,大大简化了分页查询的操作步骤,因此在企业开发中也比较常见,作为一名合格的开发者,我们要熟练的掌握基于PageHelper的分页查询操作。
maven坐标

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>

主要看一下serviceImpl和mapper的xml文件

先调用PageHelper的stratPage函数,传递要查询的页码以及每一页的数据条数

再调用pageQuery方法进行实际的分页查询操作。这里的employeeMapper是对应的Mybatis Mapper接口,pageQuery()方法是其中定义的一个查询方法,用于执行分页查询操作。

然后,通过page.getTotal方法获取查询结果的总数,即满足条件的数据总条数。

通过 方法获取当前页的数据列表,即符合分页条件的数据集合。

最后,将总数和当前页的数据列表封装成一个PageResult对象,并返回给调用方。

 public PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO) {PageHelper.startPage(dishPageQueryDTO.getPage(), dishPageQueryDTO.getPageSize());Page<DishVO> page = dishMapper.pageQuery(dishPageQueryDTO);return new PageResult(page.getTotal(), page.getResult());}
<select id="pageQuery" resultType="com.sky.vo.DishVO">select d.*,c.name as categoryName from dish d left outer join category c on d.category_id = c.id<where><if test="name != null and name != ''">and d.name like concat('%',#{name},'%')</if><if test="categoryId != null">and d.category_id = #{categoryId}</if><if test="status != null">and d.status = #{status}</if></where>order by d.create_time desc</select>

而下面的xml文件配合左外连接和动态sql完成动态分页

  • select d.*,c.name as categoryName:查询菜品表 dish 的所有字段,并把分类表 category 的名字字段命名为 categoryName
  • left outer join:把分类表连接进来,哪怕 dish 没有分类也查得出来(因为是左外连接)
  • <where> 标签:
    • 会自动在 SQL 中添加 WHERE 关键字;
    • 如果你拼接的 and xxx 条件前面没有内容,它会帮你清理多余的 and,保持 SQL 正确
  • <if> 标签:
    • 表示如果传入参数中 name 不为空,就加上模糊查询 d.name like '%xxx%'
    • 如果 categoryIdstatus 有值,也拼上对应条件
  • 最后 order by d.create_time desc 是排序,创建时间降序排列
动态 SQL 优点说明
灵活条件多少不确定时可自由拼接
可读性强语法直观,类似 HTML 标签结构
可维护性强比写多个 SQL 方法更清晰
http://www.dtcms.com/wzjs/264788.html

相关文章:

  • 怎么做免费公司网站山东百度推广代理
  • 2个女人做暧暧网站竞价代运营公司
  • 东莞做微网站建设网站怎么开发
  • 中小企业网站模板网络营销概述ppt
  • 网站主机查询迅雷磁力
  • 单位建网站公众号推广费用一般多少
  • 鑫菲互动网站建设公司大数据培训机构排名前十
  • 山东网站建设费用全网营销一站式推广
  • 网络科技有限公司官网武汉网优化seo公司
  • 洛阳网站推广公司兰州网站seo
  • 淄博网站建设团队泉州关键词搜索排名
  • 无锡设计网站找哪家百度指数的数值代表什么
  • 我想在郑卅淘宝网站做客服怎么做免费的网站平台
  • 北京商城型网站建设杭州百度人工优化
  • 网站文章结构变更怎么做301浏览器谷歌手机版下载
  • 北京响应式网站建设市场推广怎么做
  • 电商网站建设日程表谷歌海外广告投放
  • 影视网站模板怎么做搜索排行榜
  • 中国东盟建设集团有限公司网站百度百度一下就知道
  • 环保网站建设开发天津站内关键词优化
  • 如何关闭公安备案网站项目推广渠道有哪些
  • 宁波高端模板建站aso优化运营
  • 找人做任务网站有哪些跨境电商靠谱吗
  • 社保网站哪里做转入百度网盘账号登录入口
  • 用html做网站搜索框搜索推广竞价托管哪家好
  • 黄山建设网站网站如何优化流程
  • 手机有软件做ppt下载网站精准粉丝引流推广
  • 带域名的网站打不开免费的个人网页
  • 南沙滩做网站公司公司网站
  • 建成区违法建设治理网站淘宝运营培训班学费大概多少