..
This commit is contained in:
@@ -85,10 +85,11 @@ public interface BaseService<T> {
|
||||
|
||||
/**
|
||||
* 自定义SQL查询VO对象
|
||||
*
|
||||
* @param sql
|
||||
* @param clazz
|
||||
* @return 味大无需多盐
|
||||
* @param <C>
|
||||
* @return 味大无需多盐
|
||||
*/
|
||||
<C> C fetchVO(Sql sql, Class<C> clazz);
|
||||
|
||||
@@ -672,7 +673,6 @@ public interface BaseService<T> {
|
||||
*/
|
||||
<C> Pagination<C> listPageVO(PageForm pageForm, Sql sql, Class<C> clazz);
|
||||
|
||||
|
||||
/**
|
||||
* 自定义查询,并返回当前实体类对象
|
||||
*
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.service.EntityService;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
@@ -895,15 +896,32 @@ public class BaseServiceImpl<T> extends EntityService<T> implements BaseService<
|
||||
|
||||
@Override
|
||||
public <C> Pagination<C> listPageVO(PageForm pageForm, Sql sql, Class<C> clazz) {
|
||||
// Integer pageNumber = pageForm.getPageNumber();
|
||||
// Integer pageSize = pageForm.getPageSize();
|
||||
// Pager pager = this.dao().createPager(pageNumber, pageSize);
|
||||
// pager.setRecordCount((int) Daos.queryCount(this.dao(), sql));// 记录数需手动设置
|
||||
// sql.setPager(pager);
|
||||
// sql.setCallback(new QueryVoCallback(clazz));
|
||||
// this.dao().execute(sql);
|
||||
// List<C> list = sql.getList(clazz);
|
||||
// return new Pagination<>(pageNumber, pageSize, pager.getRecordCount(), list);
|
||||
|
||||
Integer pageNumber = pageForm.getPageNumber();
|
||||
Integer pageSize = pageForm.getPageSize();
|
||||
Pager pager = this.dao().createPager(pageNumber, pageSize);
|
||||
pager.setRecordCount((int) Daos.queryCount(this.dao(), sql));// 记录数需手动设置
|
||||
sql.setPager(pager);
|
||||
sql.setCallback(new QueryVoCallback(clazz));
|
||||
sql.setCallback(Sqls.callback.maps());
|
||||
this.dao().execute(sql);
|
||||
List<C> list = sql.getList(clazz);
|
||||
return new Pagination<>(pageNumber, pageSize, pager.getRecordCount(), list);
|
||||
List<Map> list = sql.getList(Map.class);
|
||||
|
||||
try {
|
||||
C c = clazz.getDeclaredConstructor().newInstance();
|
||||
List<C> voList = list.stream().map(map -> BeanUtil.fillBeanWithMapIgnoreCase(map, c, true)).toList();
|
||||
return new Pagination(pageNumber, pageSize, pager.getRecordCount(), voList);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user