是的,您需要创建一个新的 mapper.xml 文件来实现两个表的联合查询。您可以使用 MyBatis 的关联查询功能来实现这个目标。以下是一个示例:

  1. 在 mapper.xml 文件中,定义一个查询语句,使用关联查询来联合两个表:
<select id="findOrderItemsWithProducts" resultMap="OrderItemWithProductResult">
  SELECT oi.*, p.*
  FROM order_items oi
  INNER JOIN products p ON oi.product_id = p.id
</select>
  1. 在 mapper.xml 文件中,定义一个 resultMap,用于映射查询结果:
<resultMap id="OrderItemWithProductResult" type="OrderItemWithProduct">
  <id column="id" property="id" />
  <result column="quantity" property="quantity" />
  <result column="price" property="price" />
  <result column="product_id" property="product.id" />
  <result column="name" property="product.name" />
  <result column="description" property="product.description" />
</resultMap>
  1. 创建一个 Java 类来表示查询结果:
public class OrderItemWithProduct {
  private Long id;
  private Integer quantity;
  private Double price;
  private Product product;

  // getters and setters
}
  1. 创建一个 Product 类,用于保存 products 表中的数据:
public class Product {
  private Long id;
  private String name;
  private String description;

  // getters and setters
}
  1. 调用 mapper 中的查询方法:
List<OrderItemWithProduct> orderItems = orderItemMapper.findOrderItemsWithProducts();
MyBatis 联合查询:order_items 和 products 表关联

原文地址: https://www.cveoy.top/t/topic/nDH2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录