支持字段映射升级 mybatis plus -> 3.4.3.2

This commit is contained in:
bjdys 2021-08-24 09:45:21 +08:00
parent 33f69777c6
commit f4df72c747
2 changed files with 24 additions and 15 deletions

View File

@ -1,6 +1,6 @@
# mybatis-plus-join # mybatis-plus-join
* 本页功能只能在1.2.0测试版中使用,最新版本 1.2.0.Beta3 * 本页功能只能在1.2.0测试版中使用,最新版本 1.2.0.Beta5
* 点个Star支持一下吧 :) * 点个Star支持一下吧 :)
@ -15,12 +15,12 @@ QQ群:1022221898
<dependency> <dependency>
<groupId>com.github.yulichang</groupId> <groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId> <artifactId>mybatis-plus-join</artifactId>
<version>1.2.0.Beta3</version> <version>1.2.0.Beta5</version>
</dependency> </dependency>
``` ```
- Gradle - Gradle
``` ```
implementation group: 'com.github.yulichang', name: 'mybatis-plus-join', version: '1.2.0.Beta3' implementation group: 'com.github.yulichang', name: 'mybatis-plus-join', version: '1.2.0.Beta5'
``` ```
或者clone代码到本地执行 mvn install, 再引入以上依赖 或者clone代码到本地执行 mvn install, 再引入以上依赖
<br> <br>
@ -49,18 +49,32 @@ public class UserDO {
/* 其他属性略 */ /* 其他属性略 */
/** /**
* 一对一 * 查询上级 一对一
*/ */
@TableField(exist = false) @TableField(exist = false)
@MPJMapping(tag = UserDO.class, thisField = "pid", joinField = "id") @EntityMapping(thisField = "pid", joinField = "id")
private UserDO pUser; private UserDO pUser;
/** /**
* 一对多 * 查询下级 一对多
*/ */
@TableField(exist = false) @TableField(exist = false)
@MPJMapping(tag = UserDO.class, thisField = "id", joinField = "pid") @EntityMapping(thisField = "id", joinField = "pid")
private List<UserDO> childUserList; private List<UserDO> childUser;
/**
* 查询地址 (一对多)
*/
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "userId")
private List<UserAddressDO> addressList;
/**
* 绑定字段 (一对多)
*/
@TableField(exist = false)
@FieldMapping(tag = UserDO.class, thisField = "id", joinField = "pid", select = "id")
private List<Integer> childIds;
} }
``` ```
@ -87,11 +101,10 @@ class MappingTest {
* 第一次查询目标UserDO * 第一次查询目标UserDO
* 第二次根据pid查询上级用户 * 第二次根据pid查询上级用户
* 第三次根据自身id查询下级用户 * 第三次根据自身id查询下级用户
*
*/ */
@Test @Test
void test1() { void test1() {
UserDO deep = userMapper.selectByIdDeep(1); UserDO deep = userMapper.selectByIdDeep(2);
System.out.println(deep); System.out.println(deep);
} }
@ -103,7 +116,6 @@ class MappingTest {
* 第一次查询目标UserDO集合 * 第一次查询目标UserDO集合
* 第二次根据pid查询上级用户不会一条记录一条记录的去查询对pid进行汇总用in语句一次性查出来然后进行匹配 * 第二次根据pid查询上级用户不会一条记录一条记录的去查询对pid进行汇总用in语句一次性查出来然后进行匹配
* 第三次根据自身id查询下级用户不会一条记录一条记录的去查询对id进行汇总用in语句一次性查出来然后进行匹配 * 第三次根据自身id查询下级用户不会一条记录一条记录的去查询对id进行汇总用in语句一次性查出来然后进行匹配
*
*/ */
@Test @Test
void test2() { void test2() {
@ -122,9 +134,6 @@ class MappingTest {
page.getRecords().forEach(System.out::println); page.getRecords().forEach(System.out::println);
} }
}
``` ```
MPJMapping 说明: MPJMapping 说明:

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.github.yulichang</groupId> <groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId> <artifactId>mybatis-plus-join</artifactId>
<version>1.2.0.Beta4</version> <version>1.2.0.Beta5</version>
<name>mybatis-plus-join</name> <name>mybatis-plus-join</name>
<description>An enhanced toolkit of Mybatis-Plus to simplify development.</description> <description>An enhanced toolkit of Mybatis-Plus to simplify development.</description>
<url>https://github.com/yulichang/mybatis-plus-join</url> <url>https://github.com/yulichang/mybatis-plus-join</url>