mybatis-plus 关联查询
时间: 2023-11-17 17:54:52 浏览: 83
Mybatis-Plus是对MyBatis的再一次封装,它对MyBatis的基础功能进行了增强,但未做任何改变。Mybatis-Plus提供了各种查询方式和分页等行为,可以轻松实现单表的CRUD操作。最重要的是,使用Mybatis-Plus不需要编写XML,大大降低了开发难度。
关于Mybatis-Plus的关联查询,可以使用association来进行多对一的查询。使用association时,需要确保查询结果中包含关联对象的主键,因为MyBatis底层将主键和查询结果放入一个类似HashMap的数据结构中来实现关联查询。
以下是一些
相关问题
mybatis-plus-join关联查询
mybatis-plus-join是一个用于简化mybatis联表查询的工具,它可以帮助开发者在不编写繁琐的SQL语句和XML文件的情况下实现联表查询。通过引入mybatis-plus-join的starter工程,我们可以轻松地实现表的连表功能。具体使用方法可以参考插件文档\[2\]\[3\],其中包含了详细的使用说明和示例。通过使用mybatis-plus-join,开发者可以更加方便地进行一对多和一对一映射查询。
#### 引用[.reference_title]
- *1* *2* *3* [MybatisPlus多表连接查询](https://blog.csdn.net/bjdiys/article/details/130230405)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mybatis-plus关联映射
mybatis-plus支持多种关联映射方式,包括一对一、一对多、多对一、多对多等。其中,一对一和一对多的映射比较简单,多对一和多对多的映射需要使用@ManyToOne和@ManyToMany注解来实现。
举个例子,如果有一个用户表和一个订单表,一个用户可以有多个订单,那么可以使用@OneToMany注解来实现:
```java
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
@OneToMany(mappedBy = "user")
private List<Order> orders;
}
public class Order {
@TableId(type = IdType.AUTO)
private Long id;
private String orderNo;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
}
```
其中,User类中的orders属性使用@OneToMany注解标注,mappedBy属性指定了Order类中的user属性与User类中的orders属性的映射关系。Order类中的user属性使用@ManyToOne注解标注,JoinColumn注解指定了user_id字段与User表中的id字段的映射关系。
阅读全文