https://github.com/smallcham/mybatis-page
Mybatis分页插件
https://github.com/smallcham/mybatis-page
Last synced: about 1 month ago
JSON representation
Mybatis分页插件
- Host: GitHub
- URL: https://github.com/smallcham/mybatis-page
- Owner: smallcham
- Created: 2016-12-01T06:52:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-04-22T17:44:29.000Z (almost 5 years ago)
- Last Synced: 2025-07-20T21:06:09.863Z (7 months ago)
- Language: Java
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#mybatis-page
##说明
- 无需`count`,自动实现分页并返回分页信息,使用方法简单
- 可能是使用起来最方便的分页插件
- 包含了`mybatis-3.4.1` `mybatis-spring-1.3.0`不需要重复引入
###插件目前支持以下数据库
- `Mysql`
- `Oracle`
###配置方法
####Maven依赖
```xml
com.github.smallcham
mybatis-page-nodep
1.5-RELEASES
```
####mybatis.xml配置文件, 在`configuration`标签内添加
```xml
```
注:
- 数据库类型不区分大小写
- 每页显示多少条可以在代码中传参配置,也可以在xml文件中配置,如果都没有配则默认一页显示10条(`优先级从高到低为 代码配置 -> xml配置-> 默认配置`)即:如果代码中配置了size,则其它配置无效
###使用方法示例
productMapper接口
```js
List query(RowBounds rowBounds);
```
productService实现
```js
public Page query(Product product, int nowPage) {
//nowPage为要查询的页数
RowBounds rowBounds = Page.rowBounds(nowPage, product);
List products = productMapper.query(rowBounds);
return Page.asPage(rowBounds, products);
}
```
注:`Page.rowBounds(nowPage, product)`支持`pageSize`参数, 即 `Page.rowBounds(nowPage, pageSize, product)`
productMapper.xml SQL编写
```xml
SELECT
FROM product p, product_type pt
AND p.product_code = #{v.productCode}
AND p.product_name = #{v.productName}
AND p.product_type_code = #{v.productTypeCode}
AND p.product_state = #{v.productState}
AND p.product_type_code = pt.product_type_code
```
需要注意的是,sql中的查询参数使用都需要在前面加`v.` 如:`#{v.productName}`,这是因为RowBounds对象中封装了传入的参数对象