提交 3436bf36 编写于 作者: M MaxKey

fetchPageResults

上级 2fd2fb60
......@@ -21,3 +21,4 @@ jdk/*
.vscode/launch.json
*/bin/*
*\bin\*
target/mybatis-jpa-extra-parent-3.2.pom
......@@ -12,7 +12,7 @@
<!--self -->
<artifactId>mybatis-jpa-extra</artifactId>
<name>mybatis-jpa-extra</name>
<description>mybatis-jpa-extra</description>
<description>扩展MyBatis JPA支持,简化CUID操作,增强SELECT分页查询</description>
<url>https://github.com/MaxKeyTop/mybatis-jpa-extra</url>
<dependencies>
......
......@@ -65,6 +65,11 @@ public interface IJpaMapper<T> {
@Param (MapperMetadata.CONDITION) Query query,
@Param (MapperMetadata.ENTITY_CLASS)Class<?> entityClass);
//
public List<T> fetchPageResults(T entity);
public List<T> fetchPageResults(@Param (MapperMetadata.PAGE) JpaPage page ,@Param (MapperMetadata.ENTITY) T entity);
/**
* query by id
* @param id
......
......@@ -148,11 +148,25 @@ public class JpaService <T extends JpaEntity> {
* @return
*/
public JpaPageResults<T> fetchPageResults(T entity) {
return fetchPageResults("fetchPageResults" , null , entity);
try {
beforePageResults(entity);
List<T> resultslist = getMapper().fetchPageResults(entity);
return buildPageResults(entity , resultslist);
}catch (Exception e) {
logger.error("fetchPageResults Exception " , e);
}
return null;
}
public JpaPageResults<T> fetchPageResults(JpaPage page , T entity) {
return fetchPageResults("fetchPageResults" , page , entity);
try {
beforePageResults(entity);
List<T> resultslist = getMapper().fetchPageResults(page , entity);
return buildPageResults(entity , resultslist);
}catch (Exception e) {
logger.error("fetchPageResults page Exception " , e);
}
return null;
}
/**
......@@ -177,20 +191,20 @@ public class JpaService <T extends JpaEntity> {
page == null ? new Object[]{entity} : new Object[]{page , entity});
return buildPageResults(entity , resultslist);
}catch (NoSuchMethodException e) {
logger.error("Mapper no queryPageResults Method Exception " , e);
logger.error("Mapper no fetchPageResults Method Exception " , e);
}catch (Exception e) {
logger.error("queryPageResults Exception " , e);
logger.error("fetchPageResults Exception " , e);
}
return null;
}
private void beforePageResults(JpaPage page) {
protected void beforePageResults(JpaPage page) {
page.setPageResultSelectUUID(page.generateId());
page.setStartRow(calculateStartRow(page.getPageNumber() ,page.getPageSize()));
page.setPageable(true);
}
private JpaPageResults<T> buildPageResults(JpaPage page , List<T> resultslist) {
protected JpaPageResults<T> buildPageResults(JpaPage page , List<T> resultslist) {
page.setPageable(false);
Integer totalPage = resultslist.size();
......
......@@ -56,7 +56,7 @@
</properties>
<name>mybatis-jpa-extra</name>
<description>简化MyBatis CUID操作,增强SELECT分页查询</description>
<description>mybatis-jpa-extra-parent</description>
<url>https://github.com/dromara/mybatis-jpa-extra</url>
<issueManagement>
......@@ -475,7 +475,7 @@
</execution>
</executions>
</plugin>
<!-- Gpg Signature 本地打包要注释-->
<!-- Gpg Signature 本地打包要注释
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
......@@ -490,7 +490,7 @@
</execution>
</executions>
</plugin>
-->
</plugins>
</build>
</project>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册