An open API service indexing awesome lists of open source software.

https://github.com/smallcham/mybatis-page

Mybatis分页插件
https://github.com/smallcham/mybatis-page

Last synced: about 1 month ago
JSON representation

Mybatis分页插件

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对象中封装了传入的参数对象