数据库里有俩表,已经通过外键连起来了,然后 我想在html里显示从表里的数据。有办法吗?
是在mapper里面改东西吗?
在HTML中显示从表中的数据通常需要在后端代码中查询从表,并将数据传递到HTML模板中。这可以通过在mapper中编写查询方法以及在控制器中调用该方法来实现。
假设有以下两个表:
其中,user_id是order表中的外键,用于连接两个表。
如果要查询特定用户的所有订单,可以在订单mapper中编写以下方法:
@Select("SELECT * FROM order WHERE user_id = #{userId}")
List<Order> findOrdersByUserId(Long userId);
在控制器中,可以调用该方法来获取所有订单:
@GetMapping("/orders/{userId}")
public String showOrders(@PathVariable Long userId, Model model) {
List<Order> orders = orderMapper.findOrdersByUserId(userId);
model.addAttribute("orders", orders);
return "orders.html";
}
最后,在HTML文件中,可以迭代所有订单,显示每个订单的产品名称和数量:
<ul>
<li th:each="order : ${orders}">
<span th:text="${order.product_name}"></span> x <span th:text="${order.quantity}"></span>
</li>
</ul>
其中,th:each指令用于循环迭代每个订单,th:text指令用于显示产品名称和数量。
接口返回来 就行 。前端 直接 渲染
第一步先去连接数据库
之后选择自己的数据库,以mysql举例
连接成功后去配置方言
搜索sql 找到 如图所示的两个文件
找到需要配置方言的文件夹 比如 :\src\main\resources\mapper 下的所有的xml文件
之后标明自己的数据库
之后进入第二个文件
同样的找到那个文件夹,选中,之后选择数据库,就是mapper地下用到了那些数据库就选那些
之后xml文件就会跟第一种方法一样背景变绿
settings->Editor->Color Scheme ->General
再点击右侧的Code,再点击Injected language fragment
最后将background的勾选取消就好了
如图:
这种方法的好处就是可以ctrl加鼠标左键直接进入对应的数据库属性
同时如果idea版本在2020的话鼠标悬停在属性上将会显示如下图所示信息;
比如是哪个库,那张表,那个字段, 字段类型 限制 备注之类的
配合 小鸟简直nice(MyBatisCodeHelperPro)
idea插件推荐