update BaseMapperPlus列表查询和分页查询支持VO转换消费函数
Signed-off-by: 秋辞未寒 <545073804@qq.com>
This commit is contained in:
parent
bd9e581e01
commit
b493e45617
@ -18,6 +18,7 @@ import java.io.Serializable;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -156,7 +157,18 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
* @return 查询到的VO对象列表
|
* @return 查询到的VO对象列表
|
||||||
*/
|
*/
|
||||||
default List<V> selectVoByIds(Collection<? extends Serializable> idList) {
|
default List<V> selectVoByIds(Collection<? extends Serializable> idList) {
|
||||||
return selectVoByIds(idList, this.currentVoClass());
|
return selectVoByIds(idList, (Consumer<V>) null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID集合批量查询VO对象列表
|
||||||
|
*
|
||||||
|
* @param idList 主键ID集合
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @return 查询到的VO对象列表
|
||||||
|
*/
|
||||||
|
default List<V> selectVoByIds(Collection<? extends Serializable> idList, Consumer<V> beanConsumer) {
|
||||||
|
return selectVoByIds(idList, this.currentVoClass(), beanConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -168,11 +180,24 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
||||||
*/
|
*/
|
||||||
default <C> List<C> selectVoByIds(Collection<? extends Serializable> idList, Class<C> voClass) {
|
default <C> List<C> selectVoByIds(Collection<? extends Serializable> idList, Class<C> voClass) {
|
||||||
|
return selectVoByIds(idList, voClass, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID集合批量查询实体对象列表,并将其转换为指定的VO对象列表
|
||||||
|
*
|
||||||
|
* @param idList 主键ID集合
|
||||||
|
* @param voClass 要转换的VO类的Class对象
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @param <C> VO类的类型
|
||||||
|
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
||||||
|
*/
|
||||||
|
default <C> List<C> selectVoByIds(Collection<? extends Serializable> idList, Class<C> voClass, Consumer<C> beanConsumer) {
|
||||||
List<T> list = this.selectByIds(idList);
|
List<T> list = this.selectByIds(idList);
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return CollUtil.newArrayList();
|
return CollUtil.newArrayList();
|
||||||
}
|
}
|
||||||
return MapstructUtils.convert(list, voClass);
|
return MapstructUtils.convert(list, voClass, beanConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -182,7 +207,18 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
* @return 查询到的VO对象列表
|
* @return 查询到的VO对象列表
|
||||||
*/
|
*/
|
||||||
default List<V> selectVoByMap(Map<String, Object> map) {
|
default List<V> selectVoByMap(Map<String, Object> map) {
|
||||||
return selectVoByMap(map, this.currentVoClass());
|
return selectVoByMap(map, (Consumer<V>) null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据查询条件Map查询VO对象列表
|
||||||
|
*
|
||||||
|
* @param map 查询条件Map
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @return 查询到的VO对象列表
|
||||||
|
*/
|
||||||
|
default List<V> selectVoByMap(Map<String, Object> map, Consumer<V> beanConsumer) {
|
||||||
|
return selectVoByMap(map, this.currentVoClass(), beanConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -194,11 +230,24 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
||||||
*/
|
*/
|
||||||
default <C> List<C> selectVoByMap(Map<String, Object> map, Class<C> voClass) {
|
default <C> List<C> selectVoByMap(Map<String, Object> map, Class<C> voClass) {
|
||||||
|
return selectVoByMap(map, voClass, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据查询条件Map查询实体对象列表,并将其转换为指定的VO对象列表
|
||||||
|
*
|
||||||
|
* @param map 查询条件Map
|
||||||
|
* @param voClass 要转换的VO类的Class对象
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @param <C> VO类的类型
|
||||||
|
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
||||||
|
*/
|
||||||
|
default <C> List<C> selectVoByMap(Map<String, Object> map, Class<C> voClass, Consumer<C> beanConsumer) {
|
||||||
List<T> list = this.selectByMap(map);
|
List<T> list = this.selectByMap(map);
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return CollUtil.newArrayList();
|
return CollUtil.newArrayList();
|
||||||
}
|
}
|
||||||
return MapstructUtils.convert(list, voClass);
|
return MapstructUtils.convert(list, voClass, beanConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -260,6 +309,16 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
return selectVoList(new QueryWrapper<>(), this.currentVoClass());
|
return selectVoList(new QueryWrapper<>(), this.currentVoClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询所有VO对象列表
|
||||||
|
*
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @return 查询到的VO对象列表
|
||||||
|
*/
|
||||||
|
default List<V> selectVoList(Consumer<V> beanConsumer) {
|
||||||
|
return selectVoList(new QueryWrapper<>(), beanConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件查询VO对象列表
|
* 根据条件查询VO对象列表
|
||||||
*
|
*
|
||||||
@ -270,6 +329,18 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
return selectVoList(wrapper, this.currentVoClass());
|
return selectVoList(wrapper, this.currentVoClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询VO对象列表
|
||||||
|
*
|
||||||
|
* @param wrapper 查询条件Wrapper
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @return 查询到的VO对象列表
|
||||||
|
*/
|
||||||
|
default List<V> selectVoList(Wrapper<T> wrapper, Consumer<V> beanConsumer) {
|
||||||
|
return selectVoList(wrapper, this.currentVoClass(), beanConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件查询实体对象列表,并将其转换为指定的VO对象列表
|
* 根据条件查询实体对象列表,并将其转换为指定的VO对象列表
|
||||||
*
|
*
|
||||||
@ -279,11 +350,24 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
||||||
*/
|
*/
|
||||||
default <C> List<C> selectVoList(Wrapper<T> wrapper, Class<C> voClass) {
|
default <C> List<C> selectVoList(Wrapper<T> wrapper, Class<C> voClass) {
|
||||||
|
return selectVoList(wrapper, voClass, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询实体对象列表,并将其转换为指定的VO对象列表
|
||||||
|
*
|
||||||
|
* @param wrapper 查询条件Wrapper
|
||||||
|
* @param voClass 要转换的VO类的Class对象
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @param <C> VO类的类型
|
||||||
|
* @return 查询到的VO对象列表,经过转换为指定的VO类后返回
|
||||||
|
*/
|
||||||
|
default <C> List<C> selectVoList(Wrapper<T> wrapper, Class<C> voClass, Consumer<C> beanConsumer) {
|
||||||
List<T> list = this.selectList(wrapper);
|
List<T> list = this.selectList(wrapper);
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return CollUtil.newArrayList();
|
return CollUtil.newArrayList();
|
||||||
}
|
}
|
||||||
return MapstructUtils.convert(list, voClass);
|
return MapstructUtils.convert(list, voClass, beanConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -297,6 +381,18 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
return selectVoPage(page, wrapper, this.currentVoClass());
|
return selectVoPage(page, wrapper, this.currentVoClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询VO对象列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param wrapper 查询条件Wrapper
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @return 查询到的VO对象分页列表
|
||||||
|
*/
|
||||||
|
default <P extends IPage<V>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper, Consumer<V> beanConsumer) {
|
||||||
|
return selectVoPage(page, wrapper, this.currentVoClass(), beanConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件分页查询实体对象列表,并将其转换为指定的VO对象分页列表
|
* 根据条件分页查询实体对象列表,并将其转换为指定的VO对象分页列表
|
||||||
*
|
*
|
||||||
@ -308,6 +404,21 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
* @return 查询到的VO对象分页列表,经过转换为指定的VO类后返回
|
* @return 查询到的VO对象分页列表,经过转换为指定的VO类后返回
|
||||||
*/
|
*/
|
||||||
default <C, P extends IPage<C>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper, Class<C> voClass) {
|
default <C, P extends IPage<C>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper, Class<C> voClass) {
|
||||||
|
return selectVoPage(page, wrapper, voClass, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询实体对象列表,并将其转换为指定的VO对象分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param wrapper 查询条件Wrapper
|
||||||
|
* @param voClass 要转换的VO类的Class对象
|
||||||
|
* @param beanConsumer 转换后的VO对象消费函数
|
||||||
|
* @param <C> VO类的类型
|
||||||
|
* @param <P> VO对象分页列表的类型
|
||||||
|
* @return 查询到的VO对象分页列表,经过转换为指定的VO类后返回
|
||||||
|
*/
|
||||||
|
default <C, P extends IPage<C>> P selectVoPage(IPage<T> page, Wrapper<T> wrapper, Class<C> voClass, Consumer<C> beanConsumer) {
|
||||||
// 根据条件分页查询实体对象列表
|
// 根据条件分页查询实体对象列表
|
||||||
List<T> list = this.selectList(page, wrapper);
|
List<T> list = this.selectList(page, wrapper);
|
||||||
// 创建一个新的VO对象分页列表,并设置分页信息
|
// 创建一个新的VO对象分页列表,并设置分页信息
|
||||||
@ -315,7 +426,7 @@ public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
|
|||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return (P) voPage;
|
return (P) voPage;
|
||||||
}
|
}
|
||||||
voPage.setRecords(MapstructUtils.convert(list, voClass));
|
voPage.setRecords(MapstructUtils.convert(list, voClass, beanConsumer));
|
||||||
return (P) voPage;
|
return (P) voPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user