Commit 384467ef authored by hewei's avatar hewei

Mysql分页插件增强链式调用。

parent b1a61bbb
......@@ -43,7 +43,7 @@ public interface TbMapper {
}
```
### 2. MySQL分页插件
对应表Example类增加了方法
对应表Example类增加了Mysql分页方法,limit(Integer rows)、limit(Integer offset, Integer rows)和page(Integer page, Integer pageSize)
插件:
```xml
<!-- MySQL分页插件 -->
......@@ -76,8 +76,9 @@ public class TbExample {
* @mbg.generated
* @author hewei
*/
public void limit(Integer rows) {
public TbExample limit(Integer rows) {
this.rows = rows;
return this;
}
/**
......@@ -87,9 +88,10 @@ public class TbExample {
* @mbg.generated
* @author hewei
*/
public void limit(Integer offset, Integer rows) {
public TbExample limit(Integer offset, Integer rows) {
this.offset = offset;
this.rows = rows;
return this;
}
/**
......@@ -99,9 +101,10 @@ public class TbExample {
* @mbg.generated
* @author hewei
*/
public void page(Integer page, Integer pageSize) {
public TbExample page(Integer page, Integer pageSize) {
this.offset = page * pageSize;
this.rows = pageSize;
return this;
}
// offset 和 rows 的getter&setter
......
......@@ -121,30 +121,36 @@ public class LimitPlugin extends PluginAdapter {
// 提供几个快捷方法
Method setLimit = new Method();
setLimit.setVisibility(JavaVisibility.PUBLIC);
setLimit.setReturnType(topLevelClass.getType());
setLimit.setName("limit");
setLimit.addParameter(new Parameter(integerWrapper, "rows"));
setLimit.addBodyLine("this.rows = rows;");
setLimit.addBodyLine("return this;");
CommentTools.addGeneralMethodComment(setLimit, introspectedTable);
topLevelClass.addMethod(setLimit);
Method setLimit2 = new Method();
setLimit2.setVisibility(JavaVisibility.PUBLIC);
setLimit2.setReturnType(topLevelClass.getType());
setLimit2.setName("limit");
setLimit2.addParameter(new Parameter(integerWrapper, "offset"));
setLimit2.addParameter(new Parameter(integerWrapper, "rows"));
setLimit2.addBodyLine("this.offset = offset;");
setLimit2.addBodyLine("this.rows = rows;");
setLimit2.addBodyLine("return this;");
CommentTools.addGeneralMethodComment(setLimit2, introspectedTable);
topLevelClass.addMethod(setLimit2);
logger.debug("itfsw:分页插件增加Example的limit方法");
Method setPage = new Method();
setPage.setVisibility(JavaVisibility.PUBLIC);
setPage.setReturnType(topLevelClass.getType());
setPage.setName("page");
setPage.addParameter(new Parameter(integerWrapper, "page"));
setPage.addParameter(new Parameter(integerWrapper, "pageSize"));
setPage.addBodyLine("this.offset = page * pageSize;");
setPage.addBodyLine("this.rows = pageSize;");
setPage.addBodyLine("return this;");
CommentTools.addGeneralMethodComment(setPage, introspectedTable);
topLevelClass.addMethod(setPage);
logger.debug("itfsw:分页插件增加Example的page方法");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment