From c0001f3a90034d00d167366c55bd1a344eb9aac9 Mon Sep 17 00:00:00 2001 From: yulichang <570810310@qq.com> Date: Fri, 28 Oct 2022 15:41:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=9B=E5=9E=8B=E7=BA=A6?= =?UTF-8?q?=E6=9D=9F=20=E5=8D=87=E7=BA=A7=20mybatis=20plus=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 +++++------- pom.xml | 5 +++-- .../yulichang/base/mapper/MPJJoinMapper.java | 14 +++++++------- .../yulichang/base/service/MPJJoinService.java | 15 ++++++++------- .../github/yulichang/config/MappingConfig.java | 4 +++- .../github/yulichang/injector/MPJSqlInjector.java | 3 ++- .../github/yulichang/interfaces/MPJBaseJoin.java | 3 ++- .../yulichang/query/MPJLambdaQueryWrapper.java | 2 +- .../github/yulichang/query/MPJQueryWrapper.java | 2 +- .../yulichang/query/interfaces/MPJJoin.java | 2 +- .../yulichang/wrapper/MPJLambdaWrapper.java | 3 +-- .../yulichang/wrapper/interfaces/LambdaJoin.java | 2 +- 12 files changed, 35 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 9579df0..822e4ad 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ # mybatis-plus-join -* 支持连表查询的 [mybatis-plus](https://gitee.com/baomidou/mybatis-plus) +* 对 [mybatis-plus](https://gitee.com/baomidou/mybatis-plus) 多表查询的扩展 * [演示工程](https://gitee.com/best_handsome/mybatis-plus-join-demo) * 点个Star支持一下吧 :) -* [一对一,一对多](https://gitee.com/best_handsome/mybatis-plus-join/blob/master/MAPPING.md) QQ群:1022221898 @@ -34,9 +33,7 @@ QQ群:1022221898 * service继承MPJBaseService (可选) * serviceImpl继承MPJBaseServiceImpl (可选) -## 核心类 MPJLambdaWrapper和MPJQueryWrapper - -### MPJLambdaWrapper用法 +### Lambda形式用法(MPJLambdaWrapper) #### 简单的三表查询 @@ -97,7 +94,8 @@ WHERE ( * 默认主表别名是t,其他的表别名以先后调用的顺序使用t1,t2,t3.... * 条件查询,可以查询主表以及参与连接的所有表的字段,全部调用mp原生的方法,正常使用没有sql注入风险 -MPJLambdaWrapper其他功能 +MPJLambdaWrapper其他功能 + * [简单的SQL函数使用](https://gitee.com/best_handsome/mybatis-plus-join/wikis/selectFunc()?sort_id=4082479) * [ON语句多条件支持](https://gitee.com/best_handsome/mybatis-plus-join/wikis/leftJoin?sort_id=3496671) @@ -140,7 +138,7 @@ FROM LIMIT ?,? ``` -### MPJQueryWrapper +### String形式用法(MPJQueryWrapper) #### 简单的3表查询 diff --git a/pom.xml b/pom.xml index 40336d7..642c7d9 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ The Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt + https://www.apache.org/licenses/LICENSE-2.0.txt @@ -37,10 +37,11 @@ + com.baomidou mybatis-plus-boot-starter - 3.5.1 + 3.5.2 provided diff --git a/src/main/java/com/github/yulichang/base/mapper/MPJJoinMapper.java b/src/main/java/com/github/yulichang/base/mapper/MPJJoinMapper.java index f186ad4..436dfa6 100644 --- a/src/main/java/com/github/yulichang/base/mapper/MPJJoinMapper.java +++ b/src/main/java/com/github/yulichang/base/mapper/MPJJoinMapper.java @@ -21,7 +21,7 @@ public interface MPJJoinMapper extends BaseMapper { * * @param wrapper joinWrapper */ - Integer selectJoinCount(@Param(Constants.WRAPPER) MPJBaseJoin wrapper); + Integer selectJoinCount(@Param(Constants.WRAPPER) MPJBaseJoin wrapper); /** * 连表查询返回一条记录 @@ -30,14 +30,14 @@ public interface MPJJoinMapper extends BaseMapper { * @param clazz resultType */ DTO selectJoinOne(@Param(Constant.CLAZZ) Class clazz, - @Param(Constants.WRAPPER) MPJBaseJoin wrapper); + @Param(Constants.WRAPPER) MPJBaseJoin wrapper); /** * 连表查询返回Map * * @param wrapper joinWrapper */ - Map selectJoinMap(@Param(Constants.WRAPPER) MPJBaseJoin wrapper); + Map selectJoinMap(@Param(Constants.WRAPPER) MPJBaseJoin wrapper); /** * 连表查询返回记录集合 @@ -46,14 +46,14 @@ public interface MPJJoinMapper extends BaseMapper { * @param clazz resultType */ List selectJoinList(@Param(Constant.CLAZZ) Class clazz, - @Param(Constants.WRAPPER) MPJBaseJoin wrapper); + @Param(Constants.WRAPPER) MPJBaseJoin wrapper); /** * 连表查询返回Map集合 * * @param wrapper joinWrapper */ - List> selectJoinMaps(@Param(Constants.WRAPPER) MPJBaseJoin wrapper); + List> selectJoinMaps(@Param(Constants.WRAPPER) MPJBaseJoin wrapper); /** * 连表查询返回记录集合并分页 @@ -64,7 +64,7 @@ public interface MPJJoinMapper extends BaseMapper { */ > IPage selectJoinPage(P page, @Param(Constant.CLAZZ) Class clazz, - @Param(Constants.WRAPPER) MPJBaseJoin wrapper); + @Param(Constants.WRAPPER) MPJBaseJoin wrapper); /** * 连表查询返回Map集合并分页 @@ -72,5 +72,5 @@ public interface MPJJoinMapper extends BaseMapper { * @param wrapper joinWrapper */ > IPage> selectJoinMapsPage(P page, - @Param(Constants.WRAPPER) MPJBaseJoin wrapper); + @Param(Constants.WRAPPER) MPJBaseJoin wrapper); } diff --git a/src/main/java/com/github/yulichang/base/service/MPJJoinService.java b/src/main/java/com/github/yulichang/base/service/MPJJoinService.java index b68b87b..a58d63f 100644 --- a/src/main/java/com/github/yulichang/base/service/MPJJoinService.java +++ b/src/main/java/com/github/yulichang/base/service/MPJJoinService.java @@ -18,49 +18,50 @@ public interface MPJJoinService extends IService { /** * 根据 Wrapper 条件,查询总记录数 */ - default Integer selectJoinCount(MPJBaseJoin wrapper) { + default Integer selectJoinCount(MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinCount(wrapper); } /** * 连接查询返回一条记录 */ - default DTO selectJoinOne(Class clazz, MPJBaseJoin wrapper) { + default DTO selectJoinOne(Class clazz, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinOne(clazz, wrapper); } /** * 连接查询返回集合 */ - default List selectJoinList(Class clazz, MPJBaseJoin wrapper) { + default List selectJoinList(Class clazz, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinList(clazz, wrapper); } /** * 连接查询返回集合并分页 */ - default > IPage selectJoinListPage(P page, Class clazz, MPJBaseJoin wrapper) { + default > IPage selectJoinListPage(P page, Class clazz, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinPage(page, clazz, wrapper); } /** * 连接查询返回Map */ - default Map selectJoinMap(MPJBaseJoin wrapper) { + default Map selectJoinMap(MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMap(wrapper); } /** * 连接查询返回Map集合 */ - default List> selectJoinMaps(MPJBaseJoin wrapper) { + default List> selectJoinMaps(MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMaps(wrapper); } /** * 连接查询返回Map集合并分页 */ - default >> IPage> selectJoinMapsPage(P page, MPJBaseJoin wrapper) { + default >> IPage> selectJoinMapsPage( + P page, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMapsPage(page, wrapper); } } diff --git a/src/main/java/com/github/yulichang/config/MappingConfig.java b/src/main/java/com/github/yulichang/config/MappingConfig.java index fc6ce24..4a44451 100644 --- a/src/main/java/com/github/yulichang/config/MappingConfig.java +++ b/src/main/java/com/github/yulichang/config/MappingConfig.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.MPJTableMapperHelper; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; /** @@ -13,10 +14,11 @@ import org.springframework.core.annotation.Order; * @author yulichang * @since 1.2.0 */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) public class MappingConfig implements ApplicationListener { @Override + @SuppressWarnings("NullableProblems") public void onApplicationEvent(ApplicationReadyEvent event) { TableInfoHelper.getTableInfos().forEach(i -> MPJTableInfoHelper.initTableInfo(i.getEntityType(), MPJTableMapperHelper.get(i.getEntityType()))); diff --git a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java index 66de422..fdd32b4 100644 --- a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java +++ b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java @@ -29,6 +29,7 @@ import com.github.yulichang.method.mp.SelectPage; import org.apache.ibatis.builder.MapperBuilderAssistant; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.core.GenericTypeResolver; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import java.util.ArrayList; @@ -44,7 +45,7 @@ import static java.util.stream.Collectors.toList; * @author yulichang * @see DefaultSqlInjector */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnMissingBean({DefaultSqlInjector.class, AbstractSqlInjector.class, ISqlInjector.class}) public class MPJSqlInjector extends DefaultSqlInjector { diff --git a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java index a30c2f3..ca63c02 100644 --- a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java +++ b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java @@ -3,5 +3,6 @@ package com.github.yulichang.interfaces; /** * @author yulichang */ -public interface MPJBaseJoin { +@SuppressWarnings("unused") +public interface MPJBaseJoin { } diff --git a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 65db62e..6915ab1 100644 --- a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -35,7 +35,7 @@ import java.util.stream.Collectors; @Deprecated @SuppressWarnings("unused") public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper> - implements Query, T, SFunction>, MPJJoin> { + implements Query, T, SFunction>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java index a10e0b4..4ba472d 100644 --- a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java @@ -29,7 +29,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJQueryWrapper extends AbstractWrapper> - implements Query, T, String>, MPJJoin> { + implements Query, T, String>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java index 3a6c1e2..02138c0 100644 --- a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java +++ b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java @@ -7,7 +7,7 @@ import com.github.yulichang.toolkit.Constant; * @author yulichang */ @SuppressWarnings("unused") -public interface MPJJoin extends MPJBaseJoin { +public interface MPJJoin extends MPJBaseJoin { default Children leftJoin(String joinSql) { return leftJoin(true, joinSql); diff --git a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java index dc432c6..fcdfbde 100644 --- a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java +++ b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.toolkit.Constant; import com.github.yulichang.toolkit.LambdaUtils; import com.github.yulichang.toolkit.MPJWrappers; @@ -37,7 +36,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper> - implements Query>, LambdaJoin> { + implements Query>, LambdaJoin, T> { /** * 查询字段 sql diff --git a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java index ddb4d81..623b66e 100644 --- a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java +++ b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java @@ -9,7 +9,7 @@ import com.github.yulichang.wrapper.interfaces.on.OnFunction; * @author yulichang */ @SuppressWarnings("unused") -public interface LambdaJoin extends MPJBaseJoin { +public interface LambdaJoin extends MPJBaseJoin { /** * left join
> IPage> selectJoinMapsPage(P page, - @Param(Constants.WRAPPER) MPJBaseJoin wrapper); + @Param(Constants.WRAPPER) MPJBaseJoin wrapper); } diff --git a/src/main/java/com/github/yulichang/base/service/MPJJoinService.java b/src/main/java/com/github/yulichang/base/service/MPJJoinService.java index b68b87b..a58d63f 100644 --- a/src/main/java/com/github/yulichang/base/service/MPJJoinService.java +++ b/src/main/java/com/github/yulichang/base/service/MPJJoinService.java @@ -18,49 +18,50 @@ public interface MPJJoinService extends IService { /** * 根据 Wrapper 条件,查询总记录数 */ - default Integer selectJoinCount(MPJBaseJoin wrapper) { + default Integer selectJoinCount(MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinCount(wrapper); } /** * 连接查询返回一条记录 */ - default DTO selectJoinOne(Class clazz, MPJBaseJoin wrapper) { + default DTO selectJoinOne(Class clazz, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinOne(clazz, wrapper); } /** * 连接查询返回集合 */ - default List selectJoinList(Class clazz, MPJBaseJoin wrapper) { + default List selectJoinList(Class clazz, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinList(clazz, wrapper); } /** * 连接查询返回集合并分页 */ - default > IPage selectJoinListPage(P page, Class clazz, MPJBaseJoin wrapper) { + default > IPage selectJoinListPage(P page, Class clazz, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinPage(page, clazz, wrapper); } /** * 连接查询返回Map */ - default Map selectJoinMap(MPJBaseJoin wrapper) { + default Map selectJoinMap(MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMap(wrapper); } /** * 连接查询返回Map集合 */ - default List> selectJoinMaps(MPJBaseJoin wrapper) { + default List> selectJoinMaps(MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMaps(wrapper); } /** * 连接查询返回Map集合并分页 */ - default >> IPage> selectJoinMapsPage(P page, MPJBaseJoin wrapper) { + default >> IPage> selectJoinMapsPage( + P page, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMapsPage(page, wrapper); } } diff --git a/src/main/java/com/github/yulichang/config/MappingConfig.java b/src/main/java/com/github/yulichang/config/MappingConfig.java index fc6ce24..4a44451 100644 --- a/src/main/java/com/github/yulichang/config/MappingConfig.java +++ b/src/main/java/com/github/yulichang/config/MappingConfig.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.MPJTableMapperHelper; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; /** @@ -13,10 +14,11 @@ import org.springframework.core.annotation.Order; * @author yulichang * @since 1.2.0 */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) public class MappingConfig implements ApplicationListener { @Override + @SuppressWarnings("NullableProblems") public void onApplicationEvent(ApplicationReadyEvent event) { TableInfoHelper.getTableInfos().forEach(i -> MPJTableInfoHelper.initTableInfo(i.getEntityType(), MPJTableMapperHelper.get(i.getEntityType()))); diff --git a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java index 66de422..fdd32b4 100644 --- a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java +++ b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java @@ -29,6 +29,7 @@ import com.github.yulichang.method.mp.SelectPage; import org.apache.ibatis.builder.MapperBuilderAssistant; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.core.GenericTypeResolver; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import java.util.ArrayList; @@ -44,7 +45,7 @@ import static java.util.stream.Collectors.toList; * @author yulichang * @see DefaultSqlInjector */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnMissingBean({DefaultSqlInjector.class, AbstractSqlInjector.class, ISqlInjector.class}) public class MPJSqlInjector extends DefaultSqlInjector { diff --git a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java index a30c2f3..ca63c02 100644 --- a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java +++ b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java @@ -3,5 +3,6 @@ package com.github.yulichang.interfaces; /** * @author yulichang */ -public interface MPJBaseJoin { +@SuppressWarnings("unused") +public interface MPJBaseJoin { } diff --git a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 65db62e..6915ab1 100644 --- a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -35,7 +35,7 @@ import java.util.stream.Collectors; @Deprecated @SuppressWarnings("unused") public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper> - implements Query, T, SFunction>, MPJJoin> { + implements Query, T, SFunction>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java index a10e0b4..4ba472d 100644 --- a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java @@ -29,7 +29,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJQueryWrapper extends AbstractWrapper> - implements Query, T, String>, MPJJoin> { + implements Query, T, String>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java index 3a6c1e2..02138c0 100644 --- a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java +++ b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java @@ -7,7 +7,7 @@ import com.github.yulichang.toolkit.Constant; * @author yulichang */ @SuppressWarnings("unused") -public interface MPJJoin extends MPJBaseJoin { +public interface MPJJoin extends MPJBaseJoin { default Children leftJoin(String joinSql) { return leftJoin(true, joinSql); diff --git a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java index dc432c6..fcdfbde 100644 --- a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java +++ b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.toolkit.Constant; import com.github.yulichang.toolkit.LambdaUtils; import com.github.yulichang.toolkit.MPJWrappers; @@ -37,7 +36,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper> - implements Query>, LambdaJoin> { + implements Query>, LambdaJoin, T> { /** * 查询字段 sql diff --git a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java index ddb4d81..623b66e 100644 --- a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java +++ b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java @@ -9,7 +9,7 @@ import com.github.yulichang.wrapper.interfaces.on.OnFunction; * @author yulichang */ @SuppressWarnings("unused") -public interface LambdaJoin extends MPJBaseJoin { +public interface LambdaJoin extends MPJBaseJoin { /** * left join
>> IPage> selectJoinMapsPage(P page, MPJBaseJoin wrapper) { + default >> IPage> selectJoinMapsPage( + P page, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMapsPage(page, wrapper); } } diff --git a/src/main/java/com/github/yulichang/config/MappingConfig.java b/src/main/java/com/github/yulichang/config/MappingConfig.java index fc6ce24..4a44451 100644 --- a/src/main/java/com/github/yulichang/config/MappingConfig.java +++ b/src/main/java/com/github/yulichang/config/MappingConfig.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.MPJTableMapperHelper; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; /** @@ -13,10 +14,11 @@ import org.springframework.core.annotation.Order; * @author yulichang * @since 1.2.0 */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) public class MappingConfig implements ApplicationListener { @Override + @SuppressWarnings("NullableProblems") public void onApplicationEvent(ApplicationReadyEvent event) { TableInfoHelper.getTableInfos().forEach(i -> MPJTableInfoHelper.initTableInfo(i.getEntityType(), MPJTableMapperHelper.get(i.getEntityType()))); diff --git a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java index 66de422..fdd32b4 100644 --- a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java +++ b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java @@ -29,6 +29,7 @@ import com.github.yulichang.method.mp.SelectPage; import org.apache.ibatis.builder.MapperBuilderAssistant; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.core.GenericTypeResolver; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import java.util.ArrayList; @@ -44,7 +45,7 @@ import static java.util.stream.Collectors.toList; * @author yulichang * @see DefaultSqlInjector */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnMissingBean({DefaultSqlInjector.class, AbstractSqlInjector.class, ISqlInjector.class}) public class MPJSqlInjector extends DefaultSqlInjector { diff --git a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java index a30c2f3..ca63c02 100644 --- a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java +++ b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java @@ -3,5 +3,6 @@ package com.github.yulichang.interfaces; /** * @author yulichang */ -public interface MPJBaseJoin { +@SuppressWarnings("unused") +public interface MPJBaseJoin { } diff --git a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 65db62e..6915ab1 100644 --- a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -35,7 +35,7 @@ import java.util.stream.Collectors; @Deprecated @SuppressWarnings("unused") public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper> - implements Query, T, SFunction>, MPJJoin> { + implements Query, T, SFunction>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java index a10e0b4..4ba472d 100644 --- a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java @@ -29,7 +29,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJQueryWrapper extends AbstractWrapper> - implements Query, T, String>, MPJJoin> { + implements Query, T, String>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java index 3a6c1e2..02138c0 100644 --- a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java +++ b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java @@ -7,7 +7,7 @@ import com.github.yulichang.toolkit.Constant; * @author yulichang */ @SuppressWarnings("unused") -public interface MPJJoin extends MPJBaseJoin { +public interface MPJJoin extends MPJBaseJoin { default Children leftJoin(String joinSql) { return leftJoin(true, joinSql); diff --git a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java index dc432c6..fcdfbde 100644 --- a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java +++ b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.toolkit.Constant; import com.github.yulichang.toolkit.LambdaUtils; import com.github.yulichang.toolkit.MPJWrappers; @@ -37,7 +36,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper> - implements Query>, LambdaJoin> { + implements Query>, LambdaJoin, T> { /** * 查询字段 sql diff --git a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java index ddb4d81..623b66e 100644 --- a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java +++ b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java @@ -9,7 +9,7 @@ import com.github.yulichang.wrapper.interfaces.on.OnFunction; * @author yulichang */ @SuppressWarnings("unused") -public interface LambdaJoin extends MPJBaseJoin { +public interface LambdaJoin extends MPJBaseJoin { /** * left join
>> IPage> selectJoinMapsPage( + P page, MPJBaseJoin wrapper) { return ((MPJBaseMapper) getBaseMapper()).selectJoinMapsPage(page, wrapper); } } diff --git a/src/main/java/com/github/yulichang/config/MappingConfig.java b/src/main/java/com/github/yulichang/config/MappingConfig.java index fc6ce24..4a44451 100644 --- a/src/main/java/com/github/yulichang/config/MappingConfig.java +++ b/src/main/java/com/github/yulichang/config/MappingConfig.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.MPJTableMapperHelper; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; /** @@ -13,10 +14,11 @@ import org.springframework.core.annotation.Order; * @author yulichang * @since 1.2.0 */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) public class MappingConfig implements ApplicationListener { @Override + @SuppressWarnings("NullableProblems") public void onApplicationEvent(ApplicationReadyEvent event) { TableInfoHelper.getTableInfos().forEach(i -> MPJTableInfoHelper.initTableInfo(i.getEntityType(), MPJTableMapperHelper.get(i.getEntityType()))); diff --git a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java index 66de422..fdd32b4 100644 --- a/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java +++ b/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java @@ -29,6 +29,7 @@ import com.github.yulichang.method.mp.SelectPage; import org.apache.ibatis.builder.MapperBuilderAssistant; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.core.GenericTypeResolver; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import java.util.ArrayList; @@ -44,7 +45,7 @@ import static java.util.stream.Collectors.toList; * @author yulichang * @see DefaultSqlInjector */ -@Order(Integer.MIN_VALUE) +@Order(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnMissingBean({DefaultSqlInjector.class, AbstractSqlInjector.class, ISqlInjector.class}) public class MPJSqlInjector extends DefaultSqlInjector { diff --git a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java index a30c2f3..ca63c02 100644 --- a/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java +++ b/src/main/java/com/github/yulichang/interfaces/MPJBaseJoin.java @@ -3,5 +3,6 @@ package com.github.yulichang.interfaces; /** * @author yulichang */ -public interface MPJBaseJoin { +@SuppressWarnings("unused") +public interface MPJBaseJoin { } diff --git a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 65db62e..6915ab1 100644 --- a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -35,7 +35,7 @@ import java.util.stream.Collectors; @Deprecated @SuppressWarnings("unused") public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper> - implements Query, T, SFunction>, MPJJoin> { + implements Query, T, SFunction>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java index a10e0b4..4ba472d 100644 --- a/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJQueryWrapper.java @@ -29,7 +29,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJQueryWrapper extends AbstractWrapper> - implements Query, T, String>, MPJJoin> { + implements Query, T, String>, MPJJoin, T> { /** * 查询字段 diff --git a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java index 3a6c1e2..02138c0 100644 --- a/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java +++ b/src/main/java/com/github/yulichang/query/interfaces/MPJJoin.java @@ -7,7 +7,7 @@ import com.github.yulichang.toolkit.Constant; * @author yulichang */ @SuppressWarnings("unused") -public interface MPJJoin extends MPJBaseJoin { +public interface MPJJoin extends MPJBaseJoin { default Children leftJoin(String joinSql) { return leftJoin(true, joinSql); diff --git a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java index dc432c6..fcdfbde 100644 --- a/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java +++ b/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.toolkit.Constant; import com.github.yulichang.toolkit.LambdaUtils; import com.github.yulichang.toolkit.MPJWrappers; @@ -37,7 +36,7 @@ import java.util.stream.Collectors; */ @SuppressWarnings("unused") public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper> - implements Query>, LambdaJoin> { + implements Query>, LambdaJoin, T> { /** * 查询字段 sql diff --git a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java index ddb4d81..623b66e 100644 --- a/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java +++ b/src/main/java/com/github/yulichang/wrapper/interfaces/LambdaJoin.java @@ -9,7 +9,7 @@ import com.github.yulichang.wrapper.interfaces.on.OnFunction; * @author yulichang */ @SuppressWarnings("unused") -public interface LambdaJoin extends MPJBaseJoin { +public interface LambdaJoin extends MPJBaseJoin { /** * left join