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

做网站需要机吗个人网站开发的环境

做网站需要机吗,个人网站开发的环境,河南网站排名,室内设计学校比较好文章目录 分页1. RowBounds 分页2. PageHelper 分页3. PageInfo 对象属性描述 延迟加载立即加载激进式延迟加载真-延迟加载 分页 Mybatis 中实现分页功能有 3 种途径#xff1a; RowBounds 分页#xff08;不建议使用#xff09;Example 分页#xff08;简单情况可用)Pag… 文章目录 分页1. RowBounds 分页2. PageHelper 分页3. PageInfo 对象属性描述 延迟加载立即加载激进式延迟加载真-延迟加载 分页 Mybatis 中实现分页功能有 3 种途径 RowBounds 分页不建议使用Example 分页简单情况可用)PageHelper 分页推荐 ) 1. RowBounds 分页 MyBatis 本身通过 RowBounds 对象提供了分页功能你仅需为你的 dao 的查询方法多添加 RowBounds 类型的一个参数并且不需要对配置文件做任何调整。 RowBounds 也称原生分页、逻辑分页。RowBounds bounds new RowBounds(0, 4); ListEmployee list dao.select(bounds);但是这种分页是一种 逻辑分页MyBatis 并未使用 limit 子句查询的仍是 所有数据只是它仅给你「看」到了所有数据中的一部分逻辑分页虽然完成了分页功能但是它并未通过分页功能的对性能问题有所提升。 2. PageHelper 分页 PageHelper 是一款被广泛使用的 MyBatis 插件。它通过 Mybatis 的插件机制巧妙地通过机制在不需要配置文件不需要写 limit 子句的情况下动态去修改你所执行的 SQL在其后动态添加 limit 子句。 为了使用 PageHelper 需要引入相应的包 dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper/artifactIdversion5.1.8/version /dependencyPageHelper 是一款 MyBaits 插件使用它需要向 Mybatis 注册 PageHelper并对它作出相关配置mybatis-config.xml。 plugins!-- com.github.pagehelper 为 PageHelper 类所在包名 --plugin interceptorcom.github.pagehelper.PageInterceptor!-- 使用下面的方式配置参数后面会有所有的参数介绍 --property namehelperDialect valuemysql /property name... value...//plugin /plugins警告 pagehelper 有 4.x 和 5.x 两个版本用法有所不同并不是向下兼容同样的配置在使用 4.x 或 5.x 版本中可能会报错。例如上面的 helperDialect 就是 5.x 中的配置在 4.x 中使用的是 dialect 。 如果 Mybatis 整合进了 Spring除了上述这样配置外还可以将相应的注册-配置工作就在 Spring 的配置文件中进行 bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBeanproperty .../property namepluginsarraybean classcom.github.pagehelper.PageInterceptorproperty nameproperties!--使用下面的方式配置参数一行配置一个 --valueparam1value1param2value2.../value/property/bean/array/property /bean插件的属性配置 helperDialect 用于指明底层数据库类型oracle, mysql, mariadb, sqlite, hsqldb, postgresql, db2, sqlserver, informix, h2, sqlserver2012, derby reasonable 是否启用『合理化』功能 启用true时如果 pageNum 1会返回第一页内容如果 pageNum pages会返回查询最后一页。 禁用false时超出合理的范围会直接返回空数据。 在使用 PageHelper 时PageHelper 提供了 2 种风格来描述分页 pageNum / pageSize 组合 插件作者建议推荐方式 PageHelper.startPage(1, 10);这种风格实际上是在模拟「人的语气」。 offset / limit 组合 PageHelper.offsetPage(0, 3);很显然这种风格就是 SQL 语句的分页写法 在你调用查询方法之前调用 PageHelper 的上述两个方法中的任意一个都可激活 PageHelper 插件的分页功能使其动态地『帮』你修改SQL语句添加 limit 子句。而 Mybatis 的 select 返回的结果就返回的是一页数据。 PageHelper.startPage(4, 2); ListEmployee list empDao.selectByExample(null); PageInfoEmployee info new PageInfo(list, 5);System.out.println(info);注意 由于 PageHelper 插件的实现涉及到 ThreadLocal 原理这导致一旦 PageHelper 生产了一个分页参数一个内部使用的 Page 对象但是没有被消费这个参数就会一直保留在这个线程的 ThreadLocal 中。当这个线程再次被使用时就可能导致不该分页的方法去消费这个分页参数这就产生了莫名其妙的分页。所以分页参数的创建代码和查询方法的调用代码必须「紧密的在一起」。 PageHelper 插件流行的原因在于它不仅仅能实现分页功能而且还进一步封装了页面上的『分页导航条』所需要的所有相关信息。 在使用 PageHelper 的过程中我们已经提供了 4 个关键数据 PageHelper.startPage(4, 2); // 当前页的页号, 每页显示的数据量 ... PageInfoEmployee info new PageInfo(list, 5); // 查询结果, 导航栏上导航数字的个数在创建了 PageInfo 之后便可以使用它 // 2 3 [4] 5 6 log.info(是否有下一页{}, pageInfo.isHasNextPage()); log.info(是否有上一页{}, pageInfo.isHasPreviousPage()); log.info(导航栏上第一个页号{}, pageInfo.getNavigateFirstPage()); log.info(导航栏上最后一个页号{}, pageInfo.getNavigateLastPage()); log.info(导航栏上的五个导航数字{}, Arrays.toString(pageInfo.getNavigatepageNums())); log.info(共有 {} 页, pageInfo.getPages()); log.info({} / {} , pageInfo.getPageNum(), pageInfo.getPages()); log.info(共有 {} 条数据, info.getTotal());3. PageInfo 对象属性描述 属性说明举例int pageNum当前页比如当前为第 5 页int pageSize每页的数量比如每页计划/预期显示 10 条数据int size当前页的数量比如以 98 条总数据为例每页最多显示 10 条最后一页显示 8 条数据int startRow当前页面第一个元素在数据库中的行号比如以 98 条总数据的最后一页为例第一条数据是第 91 条int endRow当前页面最后一个元素在数据库中的行号比如以 98 条总数据的最后一页为例最后一条数据是第 98 条int pages总页数比如以 98 条总数据为例每页显示 10 条其中最后一页 8 条因此共 10 页int prePage前一页比如当前是第 5 页所以前一页为 4int nextPage下一页比如当前是第 5 页所以下一页为 6boolean isFirstPage是否为第一页比如当前是第 5 页不是第 1 页所以为 falseboolean isLastPage是否为最后一页比如当前是第 5 页不是最后 1 页所以为 falseboolean hasPreviousPage是否有前一页比如当前是第 5 页有前一页所以为 trueboolean hasNextPage是否有下一页比如当前是第 5 页有后一页所以为 trueint navigatePages导航页码数比如页面导航栏显示 [3 4 5 6 7] 共 5 个数字int[] navigatepageNums所有导航页号比如页面导航栏显示 [3 4 5 6 7] 这 5 个数字int navigateFirstPage导航条上的第一页比如页面导航栏显示 [3 4 5 6 7] 时第一页是第 3 页int navigateLastPage导航条上的最后一页比如页面导航栏显示 [3 4 5 6 7] 时第一页是第 7 页 延迟加载 如果一个对象关联另一个对象那么在查询 A 对象的时候会去关联查询 B 对象。 何时查询加载B 对象分为三种时机 立即加载激进式延迟加载延迟加载 立即加载 MyBaits 默认是立即加载即在查询 A 对象的时候会立即查询其关联的 B 对象。如果B 对象也有关联对象例如 C 对象那么还会立即查询 C 对象… 因此类推直到把所有有关联关系的数据全部查询出来。 激进式延迟加载 通过设置可以启用延迟加载 settingssetting namelazyLoadingEnabled valuetrue/ /settings启用延迟加载之后Mybatis 又是默认的激进地延迟加载。 Mybatis 内部会进行某种规则判断从而使得激进式的延迟加载有时候等同于立即加载有时候等同于普通的延迟加载。 真-延迟加载 可以再通过配置关闭掉激进地延迟加载从而进入普通的延迟加载 settingssetting namelazyLoadingEnabled valuetrue/setting nameaggressiveLazyLoading valuefalse/ /settings普通的延迟加载只会在你真正用到 A 对象的 B 属性时再去查询/加载 B 对象。
http://wiki.neutronadmin.com/news/433853/

相关文章:

  • 网站建设属于什么税目做微信网站公司名称
  • 一个好网站建设做外贸生意在哪个网站
  • 天津滨海新区小程序网站建设发布信息的平台有哪些
  • 申请网站步骤公众号涨粉
  • php做网站的技术难点网站项目开发
  • 北京网站开发不限年龄淮南做网站的
  • 今天特大军事新闻事件seo推广主管
  • 网站建设尾款如何做会计分录网站推广方法主要有哪些
  • 郑州微盟网站建设公司品牌建设计划
  • 如何做网站背景秦皇岛 免费建网站
  • 网站开发服务器多少钱做企业网站备案都需要什么
  • 深圳龙华企业网站设计建设银行江苏官网招聘网站
  • 后台原网站被转接网站定位与功能分析
  • 江阴安泰物流有限公司网站谁做的建设音乐网站
  • 企业网站用wordpress湖南住房城乡建设部网站
  • 禹城做网站的一个app一年可以赚多少
  • 网站建设公司正规吗下载好了网站模板怎么开始做网站
  • 做商城网站哪家好网站地图什么意思
  • 做别人一样的网站网站快速排名
  • 网站建设后台是怎么制作的网站备案主体是
  • 网站建设方案书模版网络服装网站建设
  • 国内高清视频素材网站推荐镇江做网站的公司
  • 河北省建设工程质量监督网站长沙小升初有什么做试卷的网站
  • tv做后缀的动漫网站影楼化妆师工资一般多少
  • 沈阳网站建设哪家便宜网站安全加固
  • 做外贸女装有哪些网站wordpress cdn 发帖子
  • 学用mvc做网站在哪个网站做推广好
  • 绍兴做网站服务xueui wordpress
  • wordpress网易音乐播放器安庆网站关键词优化
  • 网站建设温州科目一wordpress 用户权限