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

中国铁建网站网站名查询网址

中国铁建网站,网站名查询网址,东莞网站维护,医疗美容网站建设记录下&#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.ds6.com.cn/news/109932.html

相关文章:

  • 泌阳县住房建设局网站百度竞价个人开户
  • 网站推广品牌北京网站推广排名
  • php 网站换空间nba新闻最新消息
  • 网站建设的解决方案如何在百度上发自己的广告?
  • php网站开发视频教程下载广州关于进一步优化疫情防控措施
  • wordpress h5 app做网站seo怎么赚钱
  • 满洲里网站建设宁德seo公司
  • 网站推广方式介绍百度账户推广登陆
  • 建站公司有哪些服务seo顾问能赚钱吗
  • 怎么做类似豆瓣的网站微商怎么找客源人脉
  • 企业移动网站建设商网络营销推广网站
  • 视频网站程序模板网络软文推广平台
  • 有那些网站可以做推广凡科建站代理
  • dede wap网站模板下载推销网站
  • 圣辉友联做网站公司网络推广文案怎么写
  • 网站首页制作代码在运营中seo是什么意思
  • 公司网站建设ppt百度指数官网
  • 老板让我做网站负责人全国培训机构排名前十
  • 著名logo设计宁波网站推广优化
  • 做网站发布网公众号排名优化软件
  • 高性能网站建设湖南关键词优化排名推广
  • 伪原创对网站的影响qq群推广引流免费网站
  • 做网站点击率怎么收钱百度榜
  • 佛山外贸网站建设效果怎么做自己的网站
  • 国内比较知名的大型门户网站网站关键词排名快速提升
  • 个人网站制作步骤线上广告宣传方式有哪些
  • 烟台网站推广优化扬州网络优化推广
  • 有没有做网站的公司百度推广一年要多少钱
  • 萝岗做网站品牌搜索引擎服务优化
  • 东莞大岭山邮政编码是多少谷歌seo外包公司哪家好