⼝,然后配置该属性为实现类的全限定名称。
下⾯⼏个参数都是针对默认 dialect 情况下的参数。使⽤⾃定义 dialect 实现时,下⾯的参数没有任何作⽤。
1. helperDialect:分页插件会⾃动检测当前的数据库链接,⾃动选择合适的分页⽅式。 你可以配置helperDialect属性来指定分页插件使⽤哪种⽅
⾔。配置时,可以使⽤下⾯的缩写值:
oracle,mysql,mariadb,sqlite,hsqldb,postgresql,db2,sqlserver,informix,h2,sqlserver2012,derby
特别注意:使⽤ SqlServer2012 数据库时,需要⼿动指定为 sqlserver2012,否则会使⽤ SqlServer2005 的⽅式进⾏分页。
mysql的jar包下载你也可以实现 AbstractHelperDialect,然后配置该属性为实现类的全限定名称即可使⽤⾃定义的实现⽅法。
2. offsetAsPageNum:默认值为 false,该参数对使⽤ RowBounds 作为分页参数时有效。 当该参数设置为 true 时,会将 RowBounds 中的
offset 参数当成 pageNum 使⽤,可以⽤页码和页⾯⼤⼩两个参数进⾏分页。
3. rowBoundsWithCount:默认值为false,该参数对使⽤ RowBounds 作为分页参数时有效。 当该参数设置为true时,使⽤ RowBounds 分页会
进⾏ count 查询。
4. pageSizeZero:默认值为 false,当该参数设置为 true 时,如果 pageSize=0 或者 RowBounds.limit = 0 就会查询出全部的结果(相当于没有
执⾏分页查询,但是返回结果仍然是 Page 类型)。
5. reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第⼀页, pageNum>pages(超过总数
时),会查询最后⼀页。默认false 时,直接根据参数进⾏查询。
6. params:为了⽀持startPage(Object params)⽅法,增加了该参数来配置参数映射,⽤于从对象中根据属性名取值, 可以配置
pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的⽤默认值, 默认值
为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。
7. supportMethodsArguments:⽀持通过 Mapper 接⼝参数来传递分页参数,默认值false,分页插件会从查询⽅法的参数值中,⾃动根据上⾯
params 配置的字段中取值,查到合适的值时就会⾃动分页。 使⽤⽅法可以参考测试代码中的 com.st.basic 包下的 ArgumentsMapTest 和 ArgumentsObjTest。
8. autoRuntimeDialect:默认值为 false。设置为 true 时,允许在运⾏时根据多数据源⾃动识别对应⽅⾔的分页 (不⽀持⾃动选
择sqlserver2012,只能使⽤sqlserver),⽤法和注意事项参考下⾯的场景五。
9. closeConn:默认值为 true。当使⽤运⾏时动态数据源或没有设置 helperDialect 属性⾃动获取数据库类型时,会⾃动获取⼀个数据库连接,
通过该属性来设置是否关闭获取的这个连接,默认true关闭,设置为 false 后,不会关闭获取的连接,这个参数的设置要根据⾃⼰选择的数据源来决定。
10. aggregateFunctions(5.1.5+):默认为所有常见数据库的聚合函数,允许⼿动添加聚合函数(影响⾏数),所有以聚合函数开头的函数,在进⾏
count 转换时,会套⼀层。其他函数和列会被替换为 count(0),其中count列可以⾃⼰配置。
重要提⽰:
当 offsetAsPageNum=false 的时候,由于 PageNum 问题,RowBounds查询的时候 reasonable 会强制为 false。使⽤ PageHelper.startPage ⽅法不受影响。
4. 如何选择配置这些参数
单独看每个参数的说明可能是⼀件让⼈不爽的事情,这⾥列举⼀些可能会⽤到某些参数的情况。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论