注释更正

This commit is contained in:
yulichang 2024-01-15 00:29:31 +08:00
parent fb3bf66545
commit 01e12d6a6f
7 changed files with 59 additions and 78 deletions

View File

@ -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&lt;UserDO&gt; wrapper = new MPJLambdaWrapper&lt;UserDO&gt;();
* 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&lt;UserDO&gt; 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) //如果属性名一致 可以传一个

View File

@ -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.&lt;UserDO&gt;query();构造
* *
* @author yulichang * @author yulichang
* @see com.github.yulichang.toolkit.JoinWrappers * @see com.github.yulichang.toolkit.JoinWrappers

View File

@ -13,7 +13,7 @@ import com.github.yulichang.wrapper.UpdateJoinWrapper;
public class JoinWrappers { public class JoinWrappers {
/** /**
* JoinWrappers.<UserDO>query() * JoinWrappers.&lt;UserDO&gt;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.&lt;UserDO&gt;lambda()
*/ */
public static <T> MPJLambdaWrapper<T> lambda() { public static <T> MPJLambdaWrapper<T> lambda() {
return new MPJLambdaWrapper<>(); return new MPJLambdaWrapper<>();
} }
/** /**
* JoinWrappers.<UserDO>lambda("t") * JoinWrappers.&lt;UserDO&gt;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);

View File

@ -13,7 +13,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
public class MPJWrappers { public class MPJWrappers {
/** /**
* MPJWrappers.<UserDO>queryJoin() * MPJWrappers.&lt;UserDO&gt;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.&lt;UserDO&gt;lambda()
*/ */
public static <T> MPJLambdaWrapper<T> lambdaJoin() { public static <T> MPJLambdaWrapper<T> lambdaJoin() {
return new MPJLambdaWrapper<>(); return new MPJLambdaWrapper<>();

View File

@ -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));

View File

@ -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);

View File

@ -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&lt;UserDO&gt; wrapper = new MPJLambdaWrapper&lt;UserDO&gt;();
* 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&lt;collection&gt;的方式映射到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&lt;UserDO&gt; wrapper = new MPJLambdaWrapper&lt;UserDO&gt;()
* 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&lt;collection&gt;的方式映射到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);