Commit 384467ef authored by hewei's avatar hewei

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

parent b1a61bbb
...@@ -43,7 +43,7 @@ public interface TbMapper { ...@@ -43,7 +43,7 @@ public interface TbMapper {
} }
``` ```
### 2. MySQL分页插件 ### 2. MySQL分页插件
对应表Example类增加了方法 对应表Example类增加了Mysql分页方法,limit(Integer rows)、limit(Integer offset, Integer rows)和page(Integer page, Integer pageSize)
插件: 插件:
```xml ```xml
<!-- MySQL分页插件 --> <!-- MySQL分页插件 -->
...@@ -76,8 +76,9 @@ public class TbExample { ...@@ -76,8 +76,9 @@ public class TbExample {
* @mbg.generated * @mbg.generated
* @author hewei * @author hewei
*/ */
public void limit(Integer rows) { public TbExample limit(Integer rows) {
this.rows = rows; this.rows = rows;
return this;
} }
/** /**
...@@ -87,9 +88,10 @@ public class TbExample { ...@@ -87,9 +88,10 @@ public class TbExample {
* @mbg.generated * @mbg.generated
* @author hewei * @author hewei
*/ */
public void limit(Integer offset, Integer rows) { public TbExample limit(Integer offset, Integer rows) {
this.offset = offset; this.offset = offset;
this.rows = rows; this.rows = rows;
return this;
} }
/** /**
...@@ -99,9 +101,10 @@ public class TbExample { ...@@ -99,9 +101,10 @@ public class TbExample {
* @mbg.generated * @mbg.generated
* @author hewei * @author hewei
*/ */
public void page(Integer page, Integer pageSize) { public TbExample page(Integer page, Integer pageSize) {
this.offset = page * pageSize; this.offset = page * pageSize;
this.rows = pageSize; this.rows = pageSize;
return this;
} }
// offset 和 rows 的getter&setter // offset 和 rows 的getter&setter
......
...@@ -121,30 +121,36 @@ public class LimitPlugin extends PluginAdapter { ...@@ -121,30 +121,36 @@ public class LimitPlugin extends PluginAdapter {
// 提供几个快捷方法 // 提供几个快捷方法
Method setLimit = new Method(); Method setLimit = new Method();
setLimit.setVisibility(JavaVisibility.PUBLIC); setLimit.setVisibility(JavaVisibility.PUBLIC);
setLimit.setReturnType(topLevelClass.getType());
setLimit.setName("limit"); setLimit.setName("limit");
setLimit.addParameter(new Parameter(integerWrapper, "rows")); setLimit.addParameter(new Parameter(integerWrapper, "rows"));
setLimit.addBodyLine("this.rows = rows;"); setLimit.addBodyLine("this.rows = rows;");
setLimit.addBodyLine("return this;");
CommentTools.addGeneralMethodComment(setLimit, introspectedTable); CommentTools.addGeneralMethodComment(setLimit, introspectedTable);
topLevelClass.addMethod(setLimit); topLevelClass.addMethod(setLimit);
Method setLimit2 = new Method(); Method setLimit2 = new Method();
setLimit2.setVisibility(JavaVisibility.PUBLIC); setLimit2.setVisibility(JavaVisibility.PUBLIC);
setLimit2.setReturnType(topLevelClass.getType());
setLimit2.setName("limit"); setLimit2.setName("limit");
setLimit2.addParameter(new Parameter(integerWrapper, "offset")); setLimit2.addParameter(new Parameter(integerWrapper, "offset"));
setLimit2.addParameter(new Parameter(integerWrapper, "rows")); setLimit2.addParameter(new Parameter(integerWrapper, "rows"));
setLimit2.addBodyLine("this.offset = offset;"); setLimit2.addBodyLine("this.offset = offset;");
setLimit2.addBodyLine("this.rows = rows;"); setLimit2.addBodyLine("this.rows = rows;");
setLimit2.addBodyLine("return this;");
CommentTools.addGeneralMethodComment(setLimit2, introspectedTable); CommentTools.addGeneralMethodComment(setLimit2, introspectedTable);
topLevelClass.addMethod(setLimit2); topLevelClass.addMethod(setLimit2);
logger.debug("itfsw:分页插件增加Example的limit方法"); logger.debug("itfsw:分页插件增加Example的limit方法");
Method setPage = new Method(); Method setPage = new Method();
setPage.setVisibility(JavaVisibility.PUBLIC); setPage.setVisibility(JavaVisibility.PUBLIC);
setPage.setReturnType(topLevelClass.getType());
setPage.setName("page"); setPage.setName("page");
setPage.addParameter(new Parameter(integerWrapper, "page")); setPage.addParameter(new Parameter(integerWrapper, "page"));
setPage.addParameter(new Parameter(integerWrapper, "pageSize")); setPage.addParameter(new Parameter(integerWrapper, "pageSize"));
setPage.addBodyLine("this.offset = page * pageSize;"); setPage.addBodyLine("this.offset = page * pageSize;");
setPage.addBodyLine("this.rows = pageSize;"); setPage.addBodyLine("this.rows = pageSize;");
setPage.addBodyLine("return this;");
CommentTools.addGeneralMethodComment(setPage, introspectedTable); CommentTools.addGeneralMethodComment(setPage, introspectedTable);
topLevelClass.addMethod(setPage); topLevelClass.addMethod(setPage);
logger.debug("itfsw:分页插件增加Example的page方法"); 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