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

网站建设公司推荐北京华网在线免费源码资源源码站

网站建设公司推荐北京华网,在线免费源码资源源码站,艾特思成都网站建设,wordpress 移动支付记录下&#xff0c;自己新开了一个kotlin的项目从而替换java项目&#xff0c;同时升级了部分组件&#xff0c;包括pageHelper&#xff0c;以往代码里有动态sql的配置 //通过不为null的属性查找数据 val tmpResult: List<Map<String?, Any?>> sqlSessionTemplat…

记录下,自己新开了一个kotlin的项目从而替换java项目,同时升级了部分组件,包括pageHelper,以往代码里有动态sql的配置

//通过不为null的属性查找数据
val tmpResult: List<Map<String?, Any?>> = sqlSessionTemplate?.selectList("commonSql.queryByNotNullProperties",dynamicDbOperation, RowBounds((curPage - 1) * pageSize, pageSize))

然而在实际查询的时候执行了

select count(0) from table where nama = key;

通过sql日志查看,返回count1,total1,但是就是没有执行查询语句导致获取到的数据一直为空。
百度搜了后说是分页的问题,将RowBounds删了后确实可以了,但是这就无法动态化了(某些原因)。追溯源码查看问题

    public Page getPage(Object parameterObject, RowBounds rowBounds) {Page page = PageHelper.getLocalPage();if (page == null) {//如果不是默认对象就进行分页操作,我这边无论是哪个版本应该都会进入该分支if (rowBounds != RowBounds.DEFAULT) {...} else if (parameterObject instanceof IPage || supportMethodsArguments) {...}if (page == null) {return null;}PageHelper.setLocalPage(page);}...return page;}

上文主要是进入的分支创建对象,明白为啥有些操作在不同版本不一致,下文

AbstractHelperDialect.java
5.3.3@Overridepublic boolean afterCount(long count, Object parameterObject, RowBounds rowBounds) {Page page = getLocalPage();page.setTotal(count);if (rowBounds instanceof PageRowBounds) {((PageRowBounds) rowBounds).setTotal(count);}//pageSize < 0 的时候,不执行分页查询//pageSize = 0 的时候,还需要执行后续查询,但是不会分页if (page.getPageSizeZero() != null) {//PageSizeZero=false&&pageSize<=0if (!page.getPageSizeZero() && page.getPageSize() <= 0) {return false;}//PageSizeZero=true&&pageSize<0 返回 false,只有>=0才需要执行后续的else if (page.getPageSizeZero() && page.getPageSize() < 0) {return false;}}//页码>0 && 开始行数<总行数即可,不需要考虑 pageSize(上面的 if 已经处理不符合要求的值了)return page.getPageNum() > 0 && count > page.getStartRow();}
----------------------------------
5.1.2public boolean afterCount(long count, Object parameterObject, RowBounds rowBounds) {Page page = this.getLocalPage();page.setTotal(count);if (rowBounds instanceof PageRowBounds) {((PageRowBounds)rowBounds).setTotal(count);}if (page.getPageSize() < 0) {return false;} else {return count > 0L;}}

从上面两个版本对比就知道了,一个需要pageNum从1开始,一个不care页码…踩了个小坑…
整改方法就是新增配置:

offsetAsPageNum=true //但我这里默认是true…

val tmpResult: List<Map<String?, Any?>> = sqlSessionTemplate?.selectList("commonSql.queryByNotNullProperties",dynamicDbOperation, RowBounds(curPage, pageSize)) //offset参数做成pageNum且pageNum从1开始

搜索许久就说了pageSize和pageNum的问题,没说0和1,追踪源码才知道如何修改。。。

果然啊 看源码能解决大部分问题。

http://www.yayakq.cn/news/716402/

相关文章:

  • 做网站品牌公司专科千万别学数字媒体应用技术
  • 企业网站开发中文摘要在线网站备份
  • 做企业的网站wordpress 不显示缩略图
  • 网站建设费用摊销多少年汕头站扩建后比哪个站大
  • 企业网站建设变相收取等级保护费企业网站模板观叫湖南岚鸿团队
  • 移动端网站如何优化一个网站需要几个人做
  • wordpress网站框架上海建筑建材业信息网
  • 普陀网站制作网站demo制作工具
  • 网站的域名技巧和空间选择个人网站制作方法
  • 中国水电建设集团港航建设有限公司网站爱字幕app制作视频软件下载
  • 做自动采集电影网站有什么处罚自助游网站开发分析报告
  • 陕西企业营销型网站建设搜狗推广登录平台官网
  • 建设门户网站费用深圳纯手工seo
  • 泗阳做网站的如何建立自已的网站
  • 同一素材 不同的布局网站设计导出wordpress用户
  • 百度地图api wordpress搜索引擎优化的基本手段
  • 免费企业网站建站做网站分辨率一般多少
  • 深圳招聘网站推荐室内设计平面图包括
  • 如何做电影网站挣钱室内装修设计下载什么软件
  • 石家庄网站设计建设百度广告怎么推广
  • 上海建筑建材业门户网站网页版微信怎么扫描二维码
  • 网站被镜像怎么做微信公众号免费开通
  • dede网站地图中山网站制作设计
  • 网站后台文章编辑器雨人网站建设
  • 上海交通大学网站建设海外运营工作内容
  • 软件开发模板seo的网站建设
  • 网站建设与运行的盈利收入服务器怎么放网站吗
  • 自学软件网站开发如何做psd的模板下载网站
  • 电子商务网站建设需要什么wordpress上的博客
  • 企业的网站建设需要做什么效果好网站建设哪家便宜