This commit is contained in:
那些花儿
2025-07-28 10:48:38 +08:00
parent 030cf7cc4c
commit 3b51ed7a51
450 changed files with 82310 additions and 1213 deletions
@@ -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);
}
}
/**