springboot 多表联存
时间: 2023-08-16 13:10:43 浏览: 86
SpringBoot多表联查(测试可用)
在Spring Boot中实现多表联存可以使用MyBatis-Plus提供的注解和方法来完成。首先,我们需要在我们的实体类中使用@Many注解来指定关联查询的方法和映射关系。例如,在getList方法中,我们可以使用@Results注解来指定查询结果的映射关系,使用@Many注解来指定关联查询的方法。具体的代码如下所示:
```java
@Select("select * from dota_hero ${ew.sqlSegment} ")
@Results({
@Result(column="hero_id",property="heroId"),
@Result(column="hero_id",property="leagues", many=@Many(
select="cn.stylefeng.guns.modular.dotaunderlords.mapper.DotaLeagueMapper.getListByHeroId"
))
})
List<HeroInfoVO> getList(@Param("ew") QueryWrapper wrapper);
```
在Controller层中,我们可以注入UserService,并在相应的方法中调用UserService的方法来获取多表联存的结果。例如,在UserController中的voList方法中,我们可以调用userService的voList方法来获取多表联存的结果。具体的代码如下所示:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService; //注入userService
@GetMapping("/list")
public List<UserVo> voList(){
return this.userService.voList();
}
}
```
总的来说,使用MyBatis-Plus的注解和方法可以方便地实现Spring Boot中的多表联存操作。同时,MyBatis-Plus还提供了XML方式配置SQL语句的方式,可以根据个人喜好选择使用。如果你对MyBatis-Plus的使用还不熟悉,建议先查阅官方文档进行学习。
#### 引用[.reference_title]
- *1* *3* [springboot中mybatisplus基于注解的多对多级联查询](https://blog.csdn.net/z357904947/article/details/97975814)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [springboot 联表查询](https://blog.csdn.net/hu4545/article/details/123829386)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文