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

企业手机网站建设效果网络工程师招聘

企业手机网站建设效果,网络工程师招聘,那个网站卖做防水的烤枪,百度站长工具数据提交在前几天的文章中#xff0c;我们介绍了PageHelper的分页方法#xff0c;研读代码定位到了ExecutorUtil.pageQuery(...)方法#xff0c;并阅读到了其中的部分代码。 今天我们将看到重要的SQL修改代码。 getPageSql 我们接着看代码#xff1a; if (!dialect.beforePage(…在前几天的文章中我们介绍了PageHelper的分页方法研读代码定位到了ExecutorUtil.pageQuery(...)方法并阅读到了其中的部分代码。 今天我们将看到重要的SQL修改代码。 getPageSql 我们接着看代码 if (!dialect.beforePage(ms, parameter, rowBounds)) {return executor.query(ms, parameter, RowBounds.DEFAULT, resultHandler, cacheKey, boundSql); } else {parameter dialect.processParameterObject(ms, parameter, boundSql, cacheKey);String pageSql dialect.getPageSql(ms, boundSql, parameter, rowBounds, cacheKey);// 其他代码 ... } 今天应该阅读dialect.getPageSql方法了。通过前面的文章我们已经知道dialect对应的实现是MysqlDialect那么getPageSql在MySql中的具体实现是什么样的呢 public class MySqlDialect extends AbstractHelperDialect {public String getPageSql(String sql, Page page, CacheKey pageKey) {StringBuilder sqlBuilder new StringBuilder(sql.length() 14);sqlBuilder.append(sql);if (page.getStartRow() 0L) {sqlBuilder.append(\n LIMIT ? );} else {sqlBuilder.append(\n LIMIT ?, ? );}return sqlBuilder.toString();} } 经过不懈的查找我们终于看到了对SQL语句的直接修改了。(^▽^)。 这里的写法也很值得学习首先是使用StringBuilder加速字符串拼接速度其次是在拼接前首先开辟充足的空间new StringBulder(sql.length() 14)以免在StringBuilder拼接过程中再次分配空间浪费时间。 然后我们就看到了SQL拼接啦 首先判断是否是第一页如果是第一页则拼接\n LIMIT ?不是第一页则拼接\n LIMIT ?, ?。 至此我们终于看到了SQL修改的真容。 为表庆祝已经确定我们查看的就是代码执行位置今天我们换种形式借助IDEA来逐步查看Java代码的执行情况。 以若依系统中的中某个页面如“系统监控-定时任务”存在分页我们以此为例。 页面加载完成后是下面的样子 我们首先在PageInterceptor拦截器入口处打一个断点。 并成功拦截。 然后我们在MysqlDialect修改方法出打一个断点并再次成功拦截开心 题外话 我公司目前使用的另一套开源架构jfinal其中的分页方式也蛮方便的但是和PageHelper没什么关系这里多说几句吧。 jfinal中的分页方式使用为 PageRecord page Db.paginate(pageNumber, pageSize, selectSql, sqlExceptSelect); 里面的参数名称都很规范相信大家都看的明白我们大致看一下它其中的分页实现代码是怎样的 /**MySqlDialect.java*/ public String forPaginate(int pageNumber, int pageSize, StringBuilder findSql) {int offset pageSize * (pageNumber - 1);findSql.append( limit ).append(offset).append(, ).append(pageSize); // limit can use one or two ? to pass parasreturn findSql.toString(); } 可以看到他也是通过拼接LIMIT offset, pageSize来实现的。其中的offsetpageSize * (pageNumber - 1)。
http://www.w-s-a.com/news/199195/

相关文章:

  • 海口网站建设优化公司网站开发要加班吗
  • 建设一个网站需要注意哪些要求群晖的网站开发
  • 精通网站开发阅读网页视频下载慢怎么办
  • 网站标题的选择巴音郭楞库尔勒网站建设
  • 成都市网站建设服务商怎么进网站后台管理系统
  • 企业网站站内优化30岁做网站编辑
  • 与安网站建设网站建设征求意见稿
  • 学校网站推广做网站手把手
  • 网站开发遇到的难题wordpress文章调用
  • 网站建设做的好在线logo免费设计生成器标智客
  • 郑州做网站齿轮网站排名怎么做 site
  • 船员专用网站开发建议wordpress 图片占用id
  • 桌面软件开发跟网站开发那个上海网站备案在哪里查询
  • 罗湖网站建设陕西省建设网官网住房和城乡厅官网
  • 做一个网站的详细教学wordpress 忘记用户名密码
  • 建设银行的网站是多少wordpress添加新页面跳转
  • 网站设计费用抓取网站访客qq号码
  • 驾校视频网站模板郑州网站建设价格
  • 上海 有哪些做网站的公司成都企业网站备案流程
  • 移动端快速建站的方法青海公司网站建设
  • 网站重新搭建程序要多少钱移动互联网应用的使用情况
  • 学建站论坛给别人做网站怎么赚钱吗
  • 响应式网站代码校友会网站建设的目的
  • 北京公司网站网站建设html模板
  • 专门做医疗器械的网站免费网页制作系统团队
  • 网站开发技术 html临夏网站建设
  • flash网站模板免费下载拍卖网站开发多少钱
  • 北京网站建设制作颍州网站建设
  • 网站制作报价表做网站上海公司
  • 简洁大气蓝色文章资讯网站百度搜索广告推广