diff --git a/MAPPING.md b/MAPPING.md deleted file mode 100644 index c3cb4b1..0000000 --- a/MAPPING.md +++ /dev/null @@ -1,113 +0,0 @@ -# mybatis-plus-join - -#### @EntityMapping 和 @FieldMapping 注解 - -UserDO.java - -```java - -@Data -@TableName("user") -public class UserDO { - - @TableId - private Integer id; - private Integer pid;//父id - /* 其他属性略 */ - - /** - * 查询上级 一对一 - */ - @TableField(exist = false) - @EntityMapping(thisField = "pid", joinField = "id") - private UserDO pUser; - - /** - * 查询下级 一对多 - */ - @TableField(exist = false) - @EntityMapping(thisField = "id", joinField = "pid") - private List childUser; - - /** - * 带条件的查询下级 一对多 - */ - @TableField(exist = false) - @EntityMapping(thisField = "id", joinField = "pid", - condition = { - @MPJMappingCondition(column = "sex", value = "0"),//sex = '0' 默认条件是等于 - @MPJMappingCondition(column = "name", value = "张三", keyWord = SqlKeyword.LIKE)//name like '%a%' - }, - apply = @MPJMappingApply(value = "id between 1 and 20"))//拼接sql 同 wrapper.apply() - private List childUserCondition; - - /** - * 查询地址 (一对多) - */ - @TableField(exist = false) - @EntityMapping(thisField = "id", joinField = "userId") - private List addressList; - - /** - * 绑定字段 (一对多) - */ - @TableField(exist = false) - @FieldMapping(tag = UserDO.class, thisField = "id", joinField = "pid", select = "id") - private List childIds; -} -``` - -使用 - -```java -/** - * 一对一,一对多关系映射查询 - * 如果不需要关系映射就使用mybatis plus原生方法即可,比如 getById listByIds 等 - *

- * 注意:关系映射不会去关联查询,而是执行多次单表查询(对结果汇总后使用in语句查询,再对结果进行匹配) - */ -@SpringBootTest -class MappingTest { - @Resource - private UserMapper userMapper; - - @Test - void test1() { - UserDO deep = userMapper.selectByIdDeep(2); - System.out.println(deep); - } - - @Test - void test2() { - List list = userMapper.selectRelation(mapper -> mapper.selectList(Wrappers.emptyWrapper())); - list.forEach(System.out::println); - } - - @Test - void test3() { - Page page = new Page<>(2, 2); - Page result = userMapper.selectRelation(mapper -> mapper.selectPage(page, Wrappers.emptyWrapper())); - result.getRecords().forEach(System.out::println); - } - - /* - 更多方法请查阅 MPJDeepMapper 或者 MPJDeepService - 使用方式与 mybatis plus 一致 - */ -} -``` - -MPJMapping 说明: - -* @EntityMapping / @FieldMapping tag 关联实体类 -* @EntityMapping / @FieldMapping thisField 当前类关联对应的字段的属性名,可以不填,默认为当前类的主键 -* @EntityMapping / @FieldMapping joinField 关联类对应的字段的属性名,可以不填,默认为关联类的主键 -* @EntityMapping / @FieldMapping isThrowExp 一对一查询时,如果查询到多条记录是否抛出异常,true:抛出异常,false:获取列表第一条数据 -* - -更多功能请看代码注释 [EntityMapping](https://gitee.com/best_handsome/mybatis-plus-join/blob/master/src/main/java/com/github/yulichang/annotation/EntityMapping.java) -[FieldMapping](https://gitee.com/best_handsome/mybatis-plus-join/blob/master/src/main/java/com/github/yulichang/annotation/FieldMapping.java) - - - - diff --git a/README.md b/README.md index 0c401cc..3eae84e 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,9 @@ code style

-

mybatis-plus-join

+

MyBatis-Plus-Join

-对 mybatis-plus 多表查询的扩展 | +对 MyBatis-Plus 多表查询的扩展 | 演示工程 | 使用文档 | 点个Star支持一下吧 (☆▽☆) @@ -59,7 +59,7 @@ QQ群:1022221898 或者 ``` 或者clone代码到本地执行 mvn install, 再引入以上依赖
- 注意: mybatis plus version >= 3.3.0 + 注意: MyBatis Plus版本需要3.3.0+
### 使用