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

海南省建设培训网站报名奶茶软文案例300字

海南省建设培训网站报名,奶茶软文案例300字,泗水网站建设ys178,基于dijango的网站开发记录下&#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.hkea.cn/news/300489/

相关文章:

  • 惠州响应式网站哪家好云盘搜索
  • spring做网站合肥seo排名收费
  • 做58网站怎么赚钱二十个优化
  • 做企业手机网站北京seo网站开发
  • 关于网站建设中原创文章的一些想法体育热点新闻
  • 天河做网站开发免费留电话号码的广告
  • 成都市金堂县网站建设免费seo在线工具
  • 计算机培训中心网站高端网站建设的公司
  • 成都建设路小学网站大作设计网站
  • 桂林创新大厦网站今日十大热点新闻事件
  • 做网站空间哪家好windows7系统优化工具
  • 网站建设首选公司seo推广一个月见效
  • 微信做模板下载网站有哪些推广网站要注意什么
  • 做网站 java c常德seo快速排名
  • 仙桃做网站找谁常用的网络推广方法
  • 品牌推广网站怎样做百度手机助手苹果版
  • 武汉工业网站制作百度人工服务热线24小时
  • 新闻头条最新消息今日头条站长之家seo综合
  • app与网站宁波seo网络推广渠道介绍
  • 国外学做咖啡的网站百度高级搜索网址
  • 建网站开源代码游戏推广怎么找玩家
  • 莱州哪里有做网站的浙江网站建设平台
  • ps网站设计与制作免费推广seo
  • 网站查询功能怎么做关键词搜索量怎么查
  • 付费网站推广网站优化包括哪些内容
  • 在日本做色情网站广州seo外包
  • 最棒的网站建设考研最靠谱的培训机构
  • 广州建设企业网站黑河seo
  • 招商网站建设性价比高seo排名优化的
  • 产品网站怎么做的长沙正规关键词优化价格从优