怎样在html里显示根据主表外键查询到的从表的数据

数据库里有俩表,已经通过外键连起来了,然后 我想在html里显示从表里的数据。有办法吗?
是在mapper里面改东西吗?

在HTML中显示从表中的数据通常需要在后端代码中查询从表,并将数据传递到HTML模板中。这可以通过在mapper中编写查询方法以及在控制器中调用该方法来实现。

假设有以下两个表:

  • 主表:user (id, name, email)
  • 从表:order (id, user_id, product_name, quantity)

其中,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指令用于显示产品名称和数量。

接口返回来 就行 。前端 直接 渲染

  • 这篇博客也许可以解决你的问题👉 :解决老是提示找不到Mapper文件无法执行定义的方法问题
  • 除此之外, 这篇博客: 去除idea中mapper文件中的黄色背景两种方法中的 第二种 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 第一步先去连接数据库
    在这里插入图片描述
    之后选择自己的数据库,以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插件推荐