mirror of
https://gitee.com/best_handsome/mybatis-plus-join
synced 2025-07-11 00:02:22 +08:00
注释更正
This commit is contained in:
parent
fb3bf66545
commit
01e12d6a6f
@ -32,7 +32,7 @@ public interface QueryLabel<Children> {
|
|||||||
* <p>
|
* <p>
|
||||||
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
||||||
* <pre>
|
* <pre>
|
||||||
* MPJLambdaQueryWrapper<UserDO> wrapper = new MPJLambdaQueryWrapper<UserDO>();
|
* MPJLambdaWrapper<UserDO> wrapper = new MPJLambdaWrapper<UserDO>();
|
||||||
* wrapper.selectAll(UserDO.class)
|
* wrapper.selectAll(UserDO.class)
|
||||||
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO)
|
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO)
|
||||||
* .leftJoin(AddressDO.class, ...... )
|
* .leftJoin(AddressDO.class, ...... )
|
||||||
@ -71,7 +71,7 @@ public interface QueryLabel<Children> {
|
|||||||
* <p>
|
* <p>
|
||||||
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
||||||
* <pre>
|
* <pre>
|
||||||
* MPJLambdaQueryWrapper<UserDO> wrapper = new MPJLambdaQueryWrapper();
|
* MPJLambdaWrapper<UserDO> wrapper = new MPJLambdaWrapper();
|
||||||
* wrapper.selectAll(UserDO.class)
|
* wrapper.selectAll(UserDO.class)
|
||||||
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO, map -> map
|
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO, map -> map
|
||||||
* .id(AddressDO::getId, AddressDTO::getId) //如果属性名一致 可以传一个
|
* .id(AddressDO::getId, AddressDTO::getId) //如果属性名一致 可以传一个
|
||||||
|
@ -35,7 +35,7 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* copy {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
|
* copy {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
|
||||||
* 推荐使用 JoinWrappers.<UserDO>queryJoin();构造
|
* 推荐使用 JoinWrappers.<UserDO>query();构造
|
||||||
*
|
*
|
||||||
* @author yulichang
|
* @author yulichang
|
||||||
* @see com.github.yulichang.toolkit.JoinWrappers
|
* @see com.github.yulichang.toolkit.JoinWrappers
|
||||||
|
@ -13,7 +13,7 @@ import com.github.yulichang.wrapper.UpdateJoinWrapper;
|
|||||||
public class JoinWrappers {
|
public class JoinWrappers {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JoinWrappers.<UserDO>query()
|
* JoinWrappers.<UserDO>query()
|
||||||
*/
|
*/
|
||||||
public static <T> MPJQueryWrapper<T> query() {
|
public static <T> MPJQueryWrapper<T> query() {
|
||||||
return new MPJQueryWrapper<>();
|
return new MPJQueryWrapper<>();
|
||||||
@ -34,14 +34,14 @@ public class JoinWrappers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JoinWrappers.<UserDO>lambda()
|
* JoinWrappers.<UserDO>lambda()
|
||||||
*/
|
*/
|
||||||
public static <T> MPJLambdaWrapper<T> lambda() {
|
public static <T> MPJLambdaWrapper<T> lambda() {
|
||||||
return new MPJLambdaWrapper<>();
|
return new MPJLambdaWrapper<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JoinWrappers.<UserDO>lambda("t")
|
* JoinWrappers.<UserDO>lambda("t")
|
||||||
*/
|
*/
|
||||||
public static <T> MPJLambdaWrapper<T> lambda(String alias) {
|
public static <T> MPJLambdaWrapper<T> lambda(String alias) {
|
||||||
return new MPJLambdaWrapper<>(alias);
|
return new MPJLambdaWrapper<>(alias);
|
||||||
|
@ -13,7 +13,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|||||||
public class MPJWrappers {
|
public class MPJWrappers {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MPJWrappers.<UserDO>queryJoin()
|
* MPJWrappers.<UserDO>query()
|
||||||
*/
|
*/
|
||||||
public static <T> MPJQueryWrapper<T> queryJoin() {
|
public static <T> MPJQueryWrapper<T> queryJoin() {
|
||||||
return new MPJQueryWrapper<>();
|
return new MPJQueryWrapper<>();
|
||||||
@ -28,7 +28,7 @@ public class MPJWrappers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MPJWrappers.<UserDO>lambdaJoin()
|
* MPJWrappers.<UserDO>lambda()
|
||||||
*/
|
*/
|
||||||
public static <T> MPJLambdaWrapper<T> lambdaJoin() {
|
public static <T> MPJLambdaWrapper<T> lambdaJoin() {
|
||||||
return new MPJLambdaWrapper<>();
|
return new MPJLambdaWrapper<>();
|
||||||
|
@ -12,11 +12,10 @@ import java.util.List;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 链式调用
|
* 链式调用
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* <p>
|
||||||
* new MPJLambdaWrapper(User.class)
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*
|
*
|
||||||
* @author yulichang
|
* @author yulichang
|
||||||
* @since 1.4.4
|
* @since 1.4.4
|
||||||
@ -29,11 +28,9 @@ public interface Chain<T> {
|
|||||||
/**
|
/**
|
||||||
* 链式调用 等效于MP mapper的 selectCount()
|
* 链式调用 等效于MP mapper的 selectCount()
|
||||||
* <p>
|
* <p>
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错 <br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default Long count() {
|
default Long count() {
|
||||||
return SqlHelper.exec(getEntityClass(), mapper -> {
|
return SqlHelper.exec(getEntityClass(), mapper -> {
|
||||||
@ -45,11 +42,9 @@ public interface Chain<T> {
|
|||||||
/**
|
/**
|
||||||
* 链式调用 等效于 selectOne
|
* 链式调用 等效于 selectOne
|
||||||
* <p>
|
* <p>
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default T one() {
|
default T one() {
|
||||||
return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectOne((Wrapper<T>) this));
|
return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectOne((Wrapper<T>) this));
|
||||||
@ -58,11 +53,9 @@ public interface Chain<T> {
|
|||||||
/**
|
/**
|
||||||
* 链式调用 等效于 selectJoinOne
|
* 链式调用 等效于 selectJoinOne
|
||||||
* <p>
|
* <p>
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default <R> R one(Class<R> resultType) {
|
default <R> R one(Class<R> resultType) {
|
||||||
return SqlHelper.execJoin(getEntityClass(), mapper -> mapper.selectJoinOne(resultType, (MPJBaseJoin<T>) this));
|
return SqlHelper.execJoin(getEntityClass(), mapper -> mapper.selectJoinOne(resultType, (MPJBaseJoin<T>) this));
|
||||||
@ -71,11 +64,9 @@ public interface Chain<T> {
|
|||||||
/**
|
/**
|
||||||
* 链式调用 查询列表第一个 匹配多个不会抛异常
|
* 链式调用 查询列表第一个 匹配多个不会抛异常
|
||||||
* <p>
|
* <p>
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default T first() {
|
default T first() {
|
||||||
List<T> list = list();
|
List<T> list = list();
|
||||||
@ -85,11 +76,9 @@ public interface Chain<T> {
|
|||||||
/**
|
/**
|
||||||
* 链式调用 查询列表第一个 匹配多个不会抛异常
|
* 链式调用 查询列表第一个 匹配多个不会抛异常
|
||||||
* <p>
|
* <p>
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default <R> R first(Class<R> resultType) {
|
default <R> R first(Class<R> resultType) {
|
||||||
List<R> list = list(resultType);
|
List<R> list = list(resultType);
|
||||||
@ -98,11 +87,9 @@ public interface Chain<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 链式调用
|
* 链式调用
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default List<T> list() {
|
default List<T> list() {
|
||||||
return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectList((Wrapper<T>) this));
|
return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectList((Wrapper<T>) this));
|
||||||
@ -110,11 +97,9 @@ public interface Chain<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 链式调用
|
* 链式调用
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default <R> List<R> list(Class<R> resultType) {
|
default <R> List<R> list(Class<R> resultType) {
|
||||||
return SqlHelper.execJoin(getEntityClass(), mapper -> mapper.selectJoinList(resultType, (MPJBaseJoin<T>) this));
|
return SqlHelper.execJoin(getEntityClass(), mapper -> mapper.selectJoinList(resultType, (MPJBaseJoin<T>) this));
|
||||||
@ -122,11 +107,9 @@ public interface Chain<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 链式调用
|
* 链式调用
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default <P extends IPage<T>> P page(P page) {
|
default <P extends IPage<T>> P page(P page) {
|
||||||
return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectPage(page, (Wrapper<T>) this));
|
return SqlHelper.exec(getEntityClass(), mapper -> mapper.selectPage(page, (Wrapper<T>) this));
|
||||||
@ -134,11 +117,9 @@ public interface Chain<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 链式调用
|
* 链式调用
|
||||||
* 构造方法必须传 class 或 entity 否则会报错
|
* 构造方法必须传 class 或 entity 否则会报错<br />
|
||||||
* new MPJLambdaWrapper(User.class)
|
* new MPJLambdaWrapper(User.class)<br />
|
||||||
* new MPJQueryWrapper(User.class)
|
* JoinWrappers.lambda(User.class)<br />
|
||||||
* JoinWrappers.\<User\>lambdaJoin(User.class)
|
|
||||||
* JoinWrappers.\<User\>queryJoin(User.class)
|
|
||||||
*/
|
*/
|
||||||
default <R, P extends IPage<R>> P page(P page, Class<R> resultType) {
|
default <R, P extends IPage<R>> P page(P page, Class<R> resultType) {
|
||||||
return SqlHelper.execJoin(getEntityClass(), mapper -> mapper.selectJoinPage(page, resultType, (MPJBaseJoin<T>) this));
|
return SqlHelper.execJoin(getEntityClass(), mapper -> mapper.selectJoinPage(page, resultType, (MPJBaseJoin<T>) this));
|
||||||
|
@ -29,7 +29,7 @@ public interface Compare<Children> extends Serializable {
|
|||||||
*
|
*
|
||||||
* @param condition 执行条件
|
* @param condition 执行条件
|
||||||
* @param params map 类型的参数, key 是字段名, value 是字段值
|
* @param params map 类型的参数, key 是字段名, value 是字段值
|
||||||
* @param null2IsNull 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段\
|
* @param null2IsNull 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段
|
||||||
* @return children
|
* @return children
|
||||||
*/
|
*/
|
||||||
<R, V> Children allEq(boolean condition, Map<SFunction<R, ?>, V> params, boolean null2IsNull);
|
<R, V> Children allEq(boolean condition, Map<SFunction<R, ?>, V> params, boolean null2IsNull);
|
||||||
|
@ -28,18 +28,18 @@ public interface QueryLabel<Children> {
|
|||||||
Children getChildren();
|
Children getChildren();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一对多查询 调用此方法发必需要调用对应的 left join / right join ... 连表方法,否则会报错
|
* 一对多查询 调用此方法必需要调用对应的 left join / right join ... 连表方法,否则会报错
|
||||||
* <p>
|
* <p>
|
||||||
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
||||||
* <pre>
|
* <pre>
|
||||||
* MPJLambdaQueryWrapper<UserDO> wrapper = new MPJLambdaQueryWrapper<UserDO>();
|
* MPJLambdaWrapper<UserDO> wrapper = new MPJLambdaWrapper<UserDO>();
|
||||||
* wrapper.selectAll(UserDO.class)
|
* wrapper.selectAll(UserDO.class)
|
||||||
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO)
|
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO)
|
||||||
* .leftJoin(AddressDO.class, ...... )
|
* .leftJoin(AddressDO.class, ...... )
|
||||||
* .eq(...)
|
* .eq(...)
|
||||||
* ...
|
* ...
|
||||||
* <pre/>
|
* <pre/>
|
||||||
* 会自动将 AddressDO类中相同属性的字段 以mybatis<collection>的方式映射到UserDTO.addressListDTO属性中
|
* 会自动将 AddressDO类中相同属性的字段 以mybatis<collection>的方式映射到UserDTO.addressListDTO属性中
|
||||||
*
|
*
|
||||||
* @since 1.3.0
|
* @since 1.3.0
|
||||||
*
|
*
|
||||||
@ -50,11 +50,11 @@ public interface QueryLabel<Children> {
|
|||||||
* @param <Z> 包装类集合泛型
|
* @param <Z> 包装类集合泛型
|
||||||
* @param <F> 包装类集合字段泛型
|
* @param <F> 包装类集合字段泛型
|
||||||
*/
|
*/
|
||||||
default <S, C, Z, F extends java.util.Collection<?>> Children selectCollection(Class<C> child, SFunction<S, F> dtoField) {
|
default <S, C, Z, F extends Collection<?>> Children selectCollection(Class<C> child, SFunction<S, F> dtoField) {
|
||||||
return selectCollection(null, child, dtoField);
|
return selectCollection(null, child, dtoField);
|
||||||
}
|
}
|
||||||
|
|
||||||
default <S, C, Z, F extends java.util.Collection<?>> Children selectCollection(String prefix, Class<C> child, SFunction<S, F> dtoField) {
|
default <S, C, Z, F extends Collection<?>> Children selectCollection(String prefix, Class<C> child, SFunction<S, F> dtoField) {
|
||||||
String dtoFieldName = LambdaUtils.getName(dtoField);
|
String dtoFieldName = LambdaUtils.getName(dtoField);
|
||||||
Class<S> dtoClass = LambdaUtils.getEntityClass(dtoField);
|
Class<S> dtoClass = LambdaUtils.getEntityClass(dtoField);
|
||||||
Map<String, FieldCache> fieldMap = MPJReflectionKit.getFieldMap(dtoClass);
|
Map<String, FieldCache> fieldMap = MPJReflectionKit.getFieldMap(dtoClass);
|
||||||
@ -73,22 +73,22 @@ public interface QueryLabel<Children> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一对多查询 调用此方法发必需要调用对应的 left join / right join ... 连表方法,否则会报错
|
* 一对多查询 调用此方法必需要调用对应的 left join / right join ... 连表方法,否则会报错
|
||||||
* <p>
|
* <p>
|
||||||
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
* 举例 UserDO AddressDO 为一对多关系 UserDTO 为结果类
|
||||||
* <pre>
|
* <pre>
|
||||||
* MPJLambdaQueryWrapper<UserDO> wrapper = new MPJLambdaQueryWrapper();
|
* MPJLambdaWrapper<UserDO> wrapper = new MPJLambdaWrapper<UserDO>()
|
||||||
* wrapper.selectAll(UserDO.class)
|
* .selectAll(UserDO.class)
|
||||||
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO, map -> map
|
* .selectCollection(AddressDO.class, UserDTO::getAddressListDTO, map -> map
|
||||||
* .id(AddressDO::getId, AddressDTO::getId) //如果属性名一致 可以传一个
|
* .id(AddressDO::getId, AddressDTO::getId) //如果属性名一致 可以传一个
|
||||||
* .result(AddressDO::getUserId) //如果属性名一致 可以传一个
|
* .result(AddressDO::getUserId) //如果属性名一致 可以传一个
|
||||||
* .result(AddressDO::getAddress, AddressDTO::getAddress))) //如果属性名一致 可以传一个
|
* .result(AddressDO::getAddress, AddressDTO::getAddress)) //如果属性名一致 可以传一个
|
||||||
* .leftJoin(AddressDO.class, ...... )
|
* .leftJoin(AddressDO.class, ...... )
|
||||||
* .eq(...)
|
* .eq(...)
|
||||||
* ...
|
* ...
|
||||||
* <pre/>
|
* <pre/>
|
||||||
*
|
*
|
||||||
* 会自动将 AddressDO类中指定的字段 以mybatis<collection>的方式映射到UserDTO.addressListDTO属性中
|
* 会自动将 AddressDO类中指定的字段 以mybatis<collection>的方式映射到UserDTO.addressListDTO属性中
|
||||||
*
|
*
|
||||||
* @since 1.3.0
|
* @since 1.3.0
|
||||||
*
|
*
|
||||||
@ -100,14 +100,14 @@ public interface QueryLabel<Children> {
|
|||||||
* @param <Z> 包装类集合泛型
|
* @param <Z> 包装类集合泛型
|
||||||
* @param <F> 包装类集合字段泛型
|
* @param <F> 包装类集合字段泛型
|
||||||
*/
|
*/
|
||||||
default <S, C, Z, F extends java.util.Collection<Z>> Children selectCollection(Class<C> child,
|
default <S, C, Z, F extends Collection<Z>> Children selectCollection(Class<C> child,
|
||||||
SFunction<S, F> dtoField,
|
SFunction<S, F> dtoField,
|
||||||
MFunc<MybatisLabel.Builder<C, Z>> collection) {
|
MFunc<MybatisLabel.Builder<C, Z>> collection) {
|
||||||
return selectCollection(null, child, dtoField, collection);
|
return selectCollection(null, child, dtoField, collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
default <S, Z, F extends java.util.Collection<Z>> Children selectCollection(SFunction<S, F> dtoField,
|
default <S, Z, F extends Collection<Z>> Children selectCollection(SFunction<S, F> dtoField,
|
||||||
MFunc<MybatisLabelFree.Builder<Z>> collection) {
|
MFunc<MybatisLabelFree.Builder<Z>> collection) {
|
||||||
//自由映射必须存在泛型Z
|
//自由映射必须存在泛型Z
|
||||||
String dtoFieldName = LambdaUtils.getName(dtoField);
|
String dtoFieldName = LambdaUtils.getName(dtoField);
|
||||||
Class<S> dtoClass = LambdaUtils.getEntityClass(dtoField);
|
Class<S> dtoClass = LambdaUtils.getEntityClass(dtoField);
|
||||||
@ -121,10 +121,10 @@ public interface QueryLabel<Children> {
|
|||||||
return getChildren();
|
return getChildren();
|
||||||
}
|
}
|
||||||
|
|
||||||
default <S, C, Z, F extends java.util.Collection<Z>> Children selectCollection(String prefix,
|
default <S, C, Z, F extends Collection<Z>> Children selectCollection(String prefix,
|
||||||
Class<C> child,
|
Class<C> child,
|
||||||
SFunction<S, F> dtoField,
|
SFunction<S, F> dtoField,
|
||||||
MFunc<MybatisLabel.Builder<C, Z>> collection) {
|
MFunc<MybatisLabel.Builder<C, Z>> collection) {
|
||||||
String dtoFieldName = LambdaUtils.getName(dtoField);
|
String dtoFieldName = LambdaUtils.getName(dtoField);
|
||||||
Class<S> dtoClass = LambdaUtils.getEntityClass(dtoField);
|
Class<S> dtoClass = LambdaUtils.getEntityClass(dtoField);
|
||||||
FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName);
|
FieldCache field = MPJReflectionKit.getFieldMap(dtoClass).get(dtoFieldName);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user