范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Mybatis分页插件PageHelper的使用

  PageHelper分为4.x和5.x并且两者是不兼容的
  PageHelper的4.x版本和5.x版本在xml中的配置也不相同一、配置
  mybatis分页插件的配置可以在mybaits的配置文件进行配置,也可以在spring的配置文件中进行配置,两者配置其一即可 1.1 4.x配置在Mybatis的配置文件中配置PageHelper插件   假如不配置在后面使用 PageInfo  类时就会出现问题,输出结果的 PageInfo  属性值基本上都是错的  配置如下                                                                                                                                                                                                                                                                                        
  上面是 PageHelper  官方给的配置和注释,虽然写的很多,不过确实描述的很明白。
  dialect  :标识是哪一种数据库,设计上必须。  offsetAsPageNum  :将 RowBounds  第一个参数 offset  当成 pageNum  页码使用  rowBoundsWithCount  :设置为 true  时,使用 RowBounds  分页会进行 count  查询  reasonable  : value=true  时, pageNum  小于1会查询第一页,如果 pageNum  大于 pageSize  会查询最后一页 在spring-root中配置 PageHelper                                                                                                                                                                          helperDialect=mysql                             reasonable=true                                                                                          
  注:上面的配置只针对于pagehelper4.x版本的,如果你用的是pagehelper5.x版本就要这样配置,注意两个spring配置中的类名不同 1.2 5.x版本配置
  1. 在 MyBatis 配置 xml 中配置拦截器插件                                    
  2. 在 Spring 配置文件中配置拦截器插件                                                               params=value1                                    二、报错2.1 配置文件版本和使用版本不匹配
  如果4.x的版本用了5.x的版本报错信息如下  springboot  在启动项目的时候就会报错,报错信息有很多,主要是因为 Caused by: org.apache.ibatis.builder.BuilderException:  Error resolving class. Cause: org.apache.ibatis.type.TypeException:  Could not resolve type alias "com.github.pagehelper.PageInterceptor". Caused by: org.apache.ibatis.type.TypeException:  Could not resolve type alias "com.github.pagehelper.PageInterceptor". Caused by: java.lang.ClassNotFoundException:  Cannot find class: com.github.pagehelper.PageInterceptor
  总的来说就是缺少了 com.github.pagehelper.PageInterceptor  ,这个是新版拦截器,5.x版本才开始使用,所以在4.x版本这样配置是不行的
  那么5.x版本的配置在pagehelper4.x上能生效吗?答案是不行  报错信息如下 Caused by: org.apache.ibatis.builder.BuilderException:  Error parsing SQL Mapper Configuration. Cause:  java.lang.ClassCastException: com.github.pagehelper.PageHelper  cannot be cast to org.apache.ibatis.plugin.Interceptor Caused by: java.lang.ClassCastException:  com.github.pagehelper.PageHelper  cannot be cast to org.apache.ibatis.plugin.Interceptor
  新版的拦截器PageInterceptor不能和旧版拦截器相互转换,所以还是不行的。
  总的来说,pagehelper4.x就该用4.x的配置,pagehelper5.x就用5.x的配置(官方推荐) 2.2jar包缺少错误
  使用mybatis的分页插件时报错: net.sf.jsqlparser.statement.select.PlainSelect.getGroupBy()Lnet/sf/jsqlparse
  原因:在使用mybatis分页插件时,需要依赖  jsqlparser
  PageHelper的 不同版本依赖不同 的jsqlparser版本
  pageHelper4.x依赖版本 jsqlparser-1.3.jar 三、具体使用3.1 分页查询
  在配置完mybatis后,pagehelper的业务用法,就以分页查询用户列表为例
  添加查询所以用户的 mapper  接口
  重点来了,然后在 service  中, 先开启分页 , 再进行查询 ,然后把查询结果集放入 PageInfo  中
  PageHelper.startPage(pageNum, pageSize);  这句非常重要,这段代码表示分页的开始,意思是从第 pageNum  页开始,每页显示 pageSize  条记录。 public PageInfo listUserByPage(int pageNum, int pageSize) {              PageHelper.startPage(pageNum, pageSize);         List userVoList=userMapper.listUser();         PageInfo pageInfo=new PageInfo(userVoList);         return pageInfo;     }3.2 pagehelper设置分页排序使用pageHelper插件来分页,只需在执行sql前用即可  String orderBy = 排序字段 + " desc";//按照(数据库)排序字段 倒序 排序  PageHelper.startPage(pageNum, pageSize, orderBy)3.3 pageInfo详情
  PageInfo  这个类是插件里的类,这个类里面的属性会在输出结果中显示, 使用 PageInfo  这个类,你需要将查询出来的 list  放进去:
  PageHelper输出的数据结构
  然后在 controller  层调用该方法设置对应的 pageNum  和 pageSize  就可以了,我设置 pageNum  为1,  pageSize  为5,看个输出结果吧 "pageNum": 1,         "pageSize": 5,         "size": 5,         "orderBy": null,         "startRow": 1,         "endRow": 5,         "total": 11,         "pages": 3,         "list": [             {                 "userId": "a24d0c3b-2786-11e8-9835-e4f89cdc0d1f",                 "username": "2015081040"             },             {                 "userId": "b0bc9e45-2786-11e8-9835-e4f89cdc0d1f",                 "username": "2015081041"             },             {                 "userId": "b44fd6ac-2786-11e8-9835-e4f89cdc0d1f",                 "username": "2015081042"             },             {                 "userId": "b7ac58f7-2786-11e8-9835-e4f89cdc0d1f",                 "username": "2015081043"             },             {                 "userId": "bbdeb5d8-2786-11e8-9835-e4f89cdc0d1f",                 "username": "2015081044"             }         ],         "prePage": 0,         "nextPage": 2,         "isFirstPage": true,         "isLastPage": false,         "hasPreviousPage": false,         "hasNextPage": true,         "navigatePages": 8,         "navigatepageNums": [             1,             2,             3         ],         "navigateFirstPage": 1,         "navigateLastPage": 3,         "firstPage": 1,         "lastPage": 3
  PageInfo这个类里面的属性:
  pageNum  当前页
  pageSize  每页的数量
  size  当前页的数量
  orderBy  排序
  startRow  当前页面第一个元素在数据库中的行号
  endRow  当前页面最后一个元素在数据库中的行号
  total  总记录数(所有符合条件的数据总数)
  pages  总页数 (这个页数也很好算,每页5条,总共有11条,需要3页才可以显示完)
  list  结果集
  prePage  前一页
  nextPage  下一页
  isFirstPage  是否为第一页
  isLastPage  是否为最后一页
  hasPreviousPage  是否有前一页
  hasNextPage  是否有下一页
  navigatePages  导航页码数
  navigatepageNums  所有导航页号
  navigateFirstPage  导航第一页
  navigateLastPage  导航最后一页
  firstPage  第一页
  lastPage  最后一页

促进算法推荐技术规范健康发展近年来,随着科技不断发展,算法推荐技术已被广泛应用于生活。算法推荐技术通过抓取用户日常的使用数据,分析得出人们的行为习惯和喜好,进而精准化地提供信息娱乐消费等各类服务。算法推荐技术隐私安全保护再加强!苹果要求APP必须要有删除账号功能智能手机方便了人们的工作和生活各个方面,但是在无形之中,智能手机也出现了很多的安全隐患,而这其中最严重的一点就是隐私安全问题,比如某些流氓软件,它会收集用户的敏感信息!对于用户来说约克水系统中央空调,家用中央空调的明智之选约克水生态中央空调带地暖一百多年前人类发明空调以来,一直在不断追求舒适健康的生活方式。家用水系统中央空调以它独特的舒适健康节能安全以及智能完美契合未来智慧建筑的品质需求。约克水系统京东到家发布年货轻指南空气炸锅等销售额同比增超10倍新京报贝壳财经讯(记者程子姣)1月24日,达达集团研究院根据京东小时购京东到家消费数据,发布2022年货消费轻指南,数据显示,自1月7日京东到家小时购年货节开启以来,京东小时购京东独家吉利力帆合资公司定名睿蓝枫叶汽车或退出市场财联社(北京,记者刘阳)讯,在换电模式的风口中,吉利汽车与力帆科技的换电出行业务迈出了实质性的一步。1月24日,吉利汽车公告,与力帆科技以5050股比设立的合资公司,已完成工商注册谈判五年仍陷僵局特斯拉折戟印度市场?21世纪经济报道记者彭苏平上海报道销量成绩如日中天的特斯拉,进入印度市场的时间却一延再延。近日,又有网友在社交网络平台上提问,特斯拉何时在印度推出电动汽车?特斯拉CEO伊隆马斯克(没有华为,中国智能手机市场的均价都降了?众所周知,自从华为MateP系列手机大火之后,很多人就吐槽华为手机太贵了,因为与苹果相比,华为MateP系列的价格也不遑多让。那么问题就来了,2021年开始,华为手机销量持续下滑,长安新能源公布最新产品规划,包含5款新车长安新能源官方公布了最新的产品规划,总共包含5款新车,A158将于34月发布,67月交付。此外,长安还公布了EPA1平台电动技术智能技术以及全新的服务。据悉,目前还有三款基于EPA强大!我国自研SpaceOS天卓操作系统正式发布IT之家1月24日消息,说起我国的航天科技,那是杠杠的。不过关于我国航天技术背后的很多细节,相信不少朋友并不知晓,比如航天器计算机运行的操作系统。而根据中国航天报官方的消息,我国自我国绿色交通十四五发展规划发布加快推进新能源汽车推广应用来源人民网人民网北京1月24日电(记者乔雪峰)近日,交通运输部印发绿色交通十四五发展规划(以下简称规划),规划提出,到2025年,交通运输领域绿色低碳生产方式初步形成,基本实现基础国务院加快绿色仓储建设2025年新能源汽车新车销售量达20观点网讯1月24日,国务院发布关于印发十四五节能减排综合工作方案的通知。据观点新媒体了解,方案指出,全面推进城镇绿色规划绿色建设绿色运行管理,推动低碳城市韧性城市海绵城市无废城市建
亚马逊和其它跨境电商平台的对比很多跨境电商卖家不知道如何选择销售平台,我整理了目前几大主流电商平台的发展情况,供大家借鉴1eBay可以说,eBay是中国跨境电商卖家发源之根。很多现在我们耳熟能详的跨境电商大卖家AppleWatchSeries7预售开始了!一篇文章告诉你该不该入手十一假期,苹果宣布AppleWatchSeries7将于10月8日8点开始接受预定,10月15日发售。相信不少朋友已经等不及想要入手了,那么,AppleWatchSeries7(以多平台用户的音频现阶段最好的选择雷蛇Barracuda梭鱼X游戏耳机作为游戏用户外设的更迭永无止尽,桌面的设备已经都已更新无线设备,但还是缺少一款随身高性能的游戏耳机,来满足掌机以及手机的游戏需求。不过雷蛇最近推出了全新的Barracuda梭鱼X无李书福为什么要造手机?文林淑华微信公众号个人汽车汽车智能化快把传统车企逼疯了,李书福都要去造手机了。哪怕风险大到不能拿上市公司冒险,只能以老板个人名义做。还是亲自下场做,不是蜻蜓点水随便投资一下。造手机第三季度中东欧市场5G手机报告出炉,小米拿下第一,遥遥领先友商肉眼可见的进步,小米再拿下一城,在海外市场用户已经逐渐接受小米手机了。第三季度中东欧5G智能手机市场数据结果公布了,国产厂商已然成为主力。一枝独秀不是春,百花齐放春满园,手机行业经买国产手机就是爱国,买苹果手机就是不爱国?买手机不是自由的吗我说我不喜欢用国产手机,结果很多人来喷我,你说这个世道都怎么了?我们常常说的开放平等,难道都成了摆设吗?用什么手机不是个人的自由吗?难道组装外国手机的工人,都没给他们发工资吗?还是蓝牙耳机玩游戏延迟太高?锐可余音开拓者揭露蓝牙耳机行业秘密随着智能手机越来越轻薄的同时,不少手机厂商都在逐步取消传统有线3。5mm耳机孔,这个行为也让这几年TWS无线蓝牙耳机开始流行。蓝牙耳机摆脱了传统线材的束缚,更加方便携带,以至于今天音质悦耳动听佩戴稳固舒适,蓝牙耳机我选Tribit蓝牙耳机对于人们来说并不陌生,和有线耳机相比,蓝牙耳机体型要更为小巧一些,而且便于携带,容易收纳,怪不得会受到人们的青睐呢!最近我也准备入手一款蓝牙耳机,因此做了不少功课,对比了很华强北的苹果耳机,太逆天了相信机友们都知道,这几年AirPods已经成为苹果所有业务当中,利润率较高的一个。前段时间有调查机构专门做了评估,去年苹果光是靠它,就赚了230。5亿美元,将近1500亿元人民币。干货大型分布式系统中缓存理论及应用场景本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。缓存概述缓存的分类缓存主要分为四类,如下图CDN缓存CDN(ContentDeliveryNetwork内容如何在不兼容设备上成功安装Windows11系统出于安全方面的考量,Windows11提高了系统的最低硬件标准。除了最受关注的TPM2。0规格和处理器要求之外,还对UEFI启动提出了新的要求,以及需要在GPT分区格式中进行安装(