springboot+thymeleaf网页如何同时显示数据库的两个表
时间: 2023-12-24 19:02:05 浏览: 153
springboot框架+thymeleaf模板引擎+layui前端框架+数据库
在Spring Boot中,可以使用JPA或MyBatis等ORM框架来访问数据库。假设你已经完成了访问数据库的代码和相关的实体类定义,接下来可以在Thymeleaf模板中使用这些实体类来显示数据库的数据。
首先,需要在控制器中将两个表的数据查询出来,然后将它们放入Model对象中传递给Thymeleaf模板。例如:
```java
@GetMapping("/showData")
public String showData(Model model) {
List<User> userList = userRepository.findAll();
List<Order> orderList = orderRepository.findAll();
model.addAttribute("users", userList);
model.addAttribute("orders", orderList);
return "showData";
}
```
在上面的代码中,假设有一个名为User的实体类和一个名为Order的实体类,userRepository和orderRepository是对应的JPA或MyBatis的Repository接口,findAll()方法表示查询所有数据。
接下来,在Thymeleaf模板中可以使用类似下面的代码来显示数据:
```html
<table>
<thead>
<tr>
<th>User ID</th>
<th>User Name</th>
<th>Order ID</th>
<th>Order Name</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${orders[__${user.id}__].id}"></td>
<td th:text="${orders[__${user.id}__].name}"></td>
</tr>
</tbody>
</table>
```
在上面的代码中,使用th:each指令遍历所有的User实体类对象,并使用${user.id}作为键值来获取对应的Order实体类对象,然后使用Thymeleaf的内置变量__${user.id}__来将User和Order对象绑定起来。最后,使用th:text指令来显示每个对象的属性值。
当然,在实际开发中,还需要根据实际情况来调整具体的模板代码。
阅读全文