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
d7f7f19fac
commit
6abb21a5ee
2
.github/workflows/depoly.yml
vendored
2
.github/workflows/depoly.yml
vendored
@ -32,7 +32,7 @@ jobs:
|
||||
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
|
||||
|
||||
- name: Publish to Apache Maven Central
|
||||
run: mvn com.github.yulichang:pom-maven-plugin:1.1:pom -Prelease && mvn clean deploy -Prelease
|
||||
run: mvn com.github.yulichang:pom-maven-plugin:1.3:pom -Dprofile=release && mvn clean deploy
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
|
||||
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
|
||||
|
2
.github/workflows/snapshot.yml
vendored
2
.github/workflows/snapshot.yml
vendored
@ -32,7 +32,7 @@ jobs:
|
||||
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
|
||||
|
||||
- name: Publish to Apache Maven Central
|
||||
run: mvn com.github.yulichang:pom-maven-plugin:1.0:pom -Psnapshot && mvn deploy -Prelease -Psnapshot
|
||||
run: mvn com.github.yulichang:pom-maven-plugin:1.3:pom -Dprofile=snapshot && mvn clean deploy
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
|
||||
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
|
||||
|
12
README-zh.md
12
README-zh.md
@ -114,17 +114,7 @@ WHERE (
|
||||
AND t.id > ?)
|
||||
```
|
||||
|
||||
MPJLambdaWrapper其他功能
|
||||
|
||||
* <a href="https://mybatis-plus-join.github.io/pages/core/lambda/select/selectCollection.html" target="_blank">
|
||||
一对一,一对多使用</a>
|
||||
* <a href="https://mybatis-plus-join.github.io/pages/core/lambda/select/selectFunc.html" target="_blank">
|
||||
简单的SQL函数使用</a>
|
||||
* <a href="https://mybatis-plus-join.github.io/pages/core/lambda/join/leftJoin.html" target="_blank">
|
||||
ON语句多条件支持</a>
|
||||
* <a href="https://mybatis-plus-join.github.io" target="_blank">其他全部功能请参考使用文档</a>
|
||||
|
||||
# <a href="https://mybatis-plus-join.github.io" target="_blank">使用文档 wiki</a>
|
||||
# <a href="https://mybatis-plus-join.github.io" target="_blank">完整使用文档 wiki</a>
|
||||
|
||||
# 用爱发电
|
||||
|
||||
|
11
README.md
11
README.md
@ -114,16 +114,7 @@ WHERE (
|
||||
AND t.id > ?)
|
||||
```
|
||||
|
||||
|
||||
MPJLambdaWrapper其他功能
|
||||
|
||||
* <a href="https://mybatis-plus-join.github.io/pages/core/lambda/select/selectCollection.html" target="_blank">
|
||||
一对一,一对多使用</a>
|
||||
* <a href="https://mybatis-plus-join.github.io/pages/core/lambda/select/selectFunc.html" target="_blank">简单的SQL函数使用</a>
|
||||
* <a href="https://mybatis-plus-join.github.io/pages/core/lambda/join/leftJoin.html" target="_blank">ON语句多条件支持</a>
|
||||
* <a href="https://mybatis-plus-join.github.io" target="_blank">其他全部功能请参考使用文档</a>
|
||||
|
||||
# <a href="https://mybatis-plus-join.github.io" target="_blank">使用文档 wiki</a>
|
||||
# <a href="https://mybatis-plus-join.github.io" target="_blank">完整使用文档 wiki</a>
|
||||
# 用爱发电
|
||||
<a href="https://mybatis-plus-join.github.io/pages/quickstart/support.html" target="_blank">
|
||||
<img alt="支持一下mybatis-plus-join" src="https://mybatis-plus-join.github.io/support.png">
|
||||
|
@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.function.BiPredicate;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -194,21 +193,6 @@ public abstract class JoinAbstractWrapper<T, Children extends JoinAbstractWrappe
|
||||
return subInstance(clazz, ConfigProperties.subQueryAlias);
|
||||
}
|
||||
|
||||
/**
|
||||
* 转为子类,方便自定义继承扩展
|
||||
*/
|
||||
public <C extends Children> C toChildren(Ref<C> children) {
|
||||
return (C) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 转为子类,方便自定义继承扩展
|
||||
* 需要子类自定义字段
|
||||
*/
|
||||
public <C extends Children> C toChildren(Supplier<C> s) {
|
||||
return (C) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启检查 SQL 注入
|
||||
*/
|
||||
|
@ -1,64 +0,0 @@
|
||||
package com.github.yulichang.test.join.unit;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||
import com.github.yulichang.test.join.entity.UserDO;
|
||||
import com.github.yulichang.test.join.mapper.UserMapper;
|
||||
import com.github.yulichang.test.util.Reset;
|
||||
import com.github.yulichang.test.util.ThreadLocalUtils;
|
||||
import com.github.yulichang.toolkit.Ref;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@SpringBootTest
|
||||
public class CustomWrapperTest {
|
||||
|
||||
@Autowired
|
||||
private UserMapper userMapper;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
Reset.reset();
|
||||
}
|
||||
|
||||
|
||||
//自定义wrapper扩展
|
||||
public static class CWrapper<T> extends MPJLambdaWrapper<T> {
|
||||
|
||||
public static <T> CWrapper<T> toCWrapper() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <X> CWrapper<T> eqIfExists(SFunction<X, ?> column, Object val) {
|
||||
super.eq(Objects.nonNull(val), column, val);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void testWrapperCustomer() {
|
||||
ThreadLocalUtils.set("SELECT t.id, t.pid, t.`name`, t.`json`, t.sex, t.head_img, t.create_time, t.address_id, t.address_id2, t.del, t.create_by, t.update_by FROM `user` t WHERE t.del = false AND (t.id = ?)");
|
||||
CWrapper<UserDO> wrapper = new CWrapper<UserDO>()
|
||||
.selectAll(UserDO.class)
|
||||
// .toChildren(new Ref<CWrapper<UserDO>>())
|
||||
.toChildren(CWrapper::toCWrapper)
|
||||
.eqIfExists(UserDO::getId, 1);
|
||||
List<UserDO> dos = userMapper.selectList(wrapper);
|
||||
dos.forEach(System.out::println);
|
||||
|
||||
ThreadLocalUtils.set("SELECT t.id, t.pid, t.`name`, t.`json`, t.sex, t.head_img, t.create_time, t.address_id, t.address_id2, t.del, t.create_by, t.update_by FROM `user` t WHERE t.del = false");
|
||||
CWrapper<UserDO> wrapper1 = new CWrapper<UserDO>()
|
||||
.selectAll(UserDO.class)
|
||||
.toChildren(new Ref<CWrapper<UserDO>>())
|
||||
// .toChildren(CWrapper::toCWrapper)
|
||||
.eqIfExists(UserDO::getId, null);
|
||||
List<UserDO> dos1 = userMapper.selectList(wrapper1);
|
||||
dos1.forEach(System.out::println);
|
||||
}
|
||||
}
|
115
pom.xml
115
pom.xml
@ -51,7 +51,6 @@
|
||||
<jdkVersion.test>17</jdkVersion.test>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<github.global.server>github</github.global.server>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
@ -70,120 +69,6 @@
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>snapshot</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.github.yulichang</groupId>
|
||||
<artifactId>pom-maven-plugin</artifactId>
|
||||
<version>1.0</version>
|
||||
<configuration>
|
||||
<args>
|
||||
<arg>
|
||||
<xpath>project/properties/revision</xpath>
|
||||
<format>%s-SNAPSHOT</format>
|
||||
</arg>
|
||||
</args>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>release</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.github.yulichang</groupId>
|
||||
<artifactId>pom-maven-plugin</artifactId>
|
||||
<version>1.0</version>
|
||||
<configuration>
|
||||
<args>
|
||||
<arg>
|
||||
<type>remove</type>
|
||||
<project>mybatis-plus-join-root</project>
|
||||
<xpath>project/modules/module</xpath>
|
||||
<contentMatches>\S*-test</contentMatches>
|
||||
</arg>
|
||||
</args>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonatype.plugins</groupId>
|
||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<serverId>maven</serverId>
|
||||
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
|
||||
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<additionalJOptions>
|
||||
<additionalJOption>-Xdoclint:none</additionalJOption>
|
||||
</additionalJOptions>
|
||||
<charset>UTF-8</charset>
|
||||
<docencoding>UTF-8</docencoding>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<gpgArguments>
|
||||
<arg>--pinentry-mode</arg>
|
||||
<arg>loopback</arg>
|
||||
</gpgArguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<distributionManagement>
|
||||
<snapshotRepository>
|
||||
<id>maven</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
</snapshotRepository>
|
||||
<repository>
|
||||
<id>maven</id>
|
||||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
</profiles>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
|
Loading…
x
Reference in New Issue
Block a user