springboot前后端连表查询demo
时间: 2023-09-03 11:08:20 浏览: 47
假设有两个实体类 `Order` 和 `User`,其中 `Order` 包含一个外键 `userId`,关联到 `User` 的主键 `id`,现在需要查询出所有的订单信息并且包含对应的用户信息。
1. 创建实体类 `Order` 和 `User`,并添加关联注解
```java
@Entity
public class Order {
@Id
private Long id;
private String name;
private Long userId;
// 关联注解
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userId", insertable = false, updatable = false)
private User user;
// getter 和 setter 略
}
@Entity
public class User {
@Id
private Long id;
private String name;
// getter 和 setter 略
}
```
2. 创建订单和用户的 Repository 接口
```java
@Repository
public interface OrderRepository extends JpaRepository<Order, Long> {
@Query("SELECT o FROM Order o JOIN o.user u")
List<Order> findAllWithUser();
}
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
// 留空即可
}
```
3. 编写 Controller 接口
```java
@RestController
@RequestMapping("/orders")
public class OrderController {
@Autowired
private OrderRepository orderRepository;
@GetMapping
public List<Order> findAllWithUser() {
return orderRepository.findAllWithUser();
}
}
```
以上就是一个简单的 SpringBoot 前后端连表查询的示例,其中使用了 JPA 和 JPQL 来实现关联查询。