mybatis-plus 连表查询 的写法
时间: 2023-08-16 08:11:16 浏览: 137
MyBatis-Plus提供了多种方式来实现连表查询。下面是一些常用的写法示例:
1. 使用@TableName注解实体类,定义表名和字段名的映射关系。
```java
@TableName("user")
public class User {
@TableId("id")
private Long id;
@TableField("username")
private String username;
// 其他字段...
}
@TableName("order")
public class Order {
@TableId("id")
private Long id;
@TableField("user_id")
private Long userId;
// 其他字段...
}
```
2. 使用@JoinQuery注解进行关联查询。
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
@JoinQuery(entity = Order.class, on = "id = user_id")
List<User> selectUserWithOrder();
}
```
3. 使用Wrapper进行连表查询。
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT u.*, o.order_no FROM user u LEFT JOIN `order` o ON u.id = o.user_id")
List<Map<String, Object>> selectUserWithOrder();
}
```
4. 使用XML配置进行连表查询。
```xml
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="userResultMap" type="com.example.entity.User">
<!-- 字段映射 -->
</resultMap>
<select id="selectUserWithOrder" resultMap="userResultMap">
SELECT u.*, o.order_no
FROM user u
LEFT JOIN `order` o ON u.id = o.user_id
</select>
</mapper>
```
这些示例提供了不同的方式来实现MyBatis-Plus的连表查询,你可以根据具体的需求选择合适的方式。
阅读全文
相关推荐

















