mybatis-plus-jion
时间: 2023-11-17 16:15:35 浏览: 95
mybatis-plus
Mybatis-Plus 是 Mybatis 的增强工具,在 Mybatis 的基础上扩展了很多实用的功能,其中就包括了多表联查(Join)功能。
要使用 Mybatis-Plus 进行多表联查,需要先定义实体类,然后使用注解 @TableName 指定实体类对应的数据库表名,使用注解 @TableField 指定实体类属性对应的数据库字段名。
接下来,在 Mapper 中可以使用 @SelectProvider 注解指定对应的 SQLProvider 类,然后在 SQLProvider 中编写 SQL 语句。在 SQL 语句中可以使用 ${} 占位符来动态指定表名和字段名。例如:
```java
@SelectProvider(type = MyJoinSqlProvider.class, method = "myJoinSql")
List<MyJoinEntity> myJoin();
```
```java
public class MyJoinSqlProvider {
public String myJoinSql() {
return "SELECT t1.*, t2.* FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id";
}
}
```
另外,Mybatis-Plus 也提供了 LambdaQueryWrapper 和 LambdaUpdateWrapper 两个类,可以使用 Lambda 表达式来编写 SQL 语句。例如:
```java
List<MyJoinEntity> list = new LambdaQueryWrapper<MyJoinEntity>()
.select(MyJoinEntity::getId, MyJoinEntity::getName, MyJoinEntity::getAge, OtherEntity::getOtherField)
.eq(MyJoinEntity::getId, 1)
.leftJoin(OtherEntity.class, OtherEntity::getId, MyJoinEntity::getId)
.list();
```
以上就是使用 Mybatis-Plus 进行多表联查的基本方法。
阅读全文