0
点赞
收藏
分享

微信扫一扫

Qt实战中出现的问题

Android开发指南 2023-07-13 阅读 68

目录

 🎂前言:

 🎂一对一关联查询:

 🎂一对多关联查询:

 🎂 下面是上面代码中所涉及到的实体类结构设计:

 🎂一对一关联查询:

 🎂用户实体类(User):

 🎂用户详情实体类(UserDetail):

 🎂一对多关联查询:

 🎂订单实体类(Order):

 🎂订单详情实体类(OrderDetail):

 🎂下面是上面代码中所涉及到的表结构设计:

 🎂一对一关联查询:

 🎂用户表(user):

 🎂用户详情表(user_detail):

 🎂一对多关联查询:

 🎂订单表(order):

 🎂订单详情表(order_detail):

 🎂数据格式:

 🎂在一对多关联查询中,查询结果的格式通常是一个主表记录对应多个从表记录,即一个主表记录对应一个包含多个从表记录的集合。以订单表(order)和订单详情表(order_detail)为例,查询结果的格式如下:

 🎂在一对一关联查询中,查询结果的格式通常是一个主表记录对应一个从表记录,即一个主表记录对应一个从表记录对象。以用户表(user)和用户详情表(user_detail)为例,查询结果的格式如下:


🎂前言:

 🎂一对一关联查询:

假设有两个表,一个是用户表(user),另一个是用户详情表(user_detail),它们之间是一对一的关系,即一个用户对应一个用户详情。下面是一对一关联查询的Mapper.xml配置文件:

<!-- 查询用户及其详情信息 -->
<select id="getUserWithDetail" resultMap="userWithDetail">
  SELECT u.*, d.*
  FROM user u
  LEFT JOIN user_detail d ON u.id = d.user_id
  WHERE u.id = #{id}
</select>

<!-- 定义结果集 -->
<resultMap id="userWithDetail" type="User">
  <id property="id" column="id"/>
  <result property="username" column="username"/>
  <result property="password" column="password"/>
  <result property="email" column="email"/>
  <result property="detail" column="id" resultMap="userDetail"/>
</resultMap>

<resultMap id="userDetail" type="UserDetail">
  <id property="id" column="id"/>
  <result property="userId" column="user_id"/>
  <result property="realName" column="real_name"/>
  <result property="age" column="age"/>
  <result property="address" column="address"/>
</resultMap>

 🎂一对多关联查询:

假设有两个表,一个是订单表(order),另一个是订单详情表(order_detail),它们之间是一对多的关系,即一个订单对应多个订单详情。下面是一对多关联查询的Mapper.xml配置文件:

<!-- 查询订单及其详情信息 -->
<select id="getOrderWithDetails" resultMap="orderWithDetails">
  SELECT o.*, d.*
  FROM order o
  LEFT JOIN order_detail d ON o.id = d.order_id
  WHERE o.id = #{id}
</select>

<!-- 定义结果集 -->
<resultMap id="orderWithDetails" type="Order">
  <id property="id" column="id"/>
  <result property="orderNo" column="order_no"/>
  <result property="createTime" column="create_time"/>
  <result property="details" column="id" resultMap="orderDetail"/>
</resultMap>

<resultMap id="orderDetail" type="OrderDetail">
  <id property="id" column="id"/>
  <result property="orderId" column="order_id"/>
  <result property="productName" column="product_name"/>
  <result property="price" column="price"/>
  <result property="quantity" column="quantity"/>
</resultMap>

 🎂 下面是上面代码中所涉及到的实体类结构设计:

 🎂一对一关联查询:

 🎂用户实体类(User):

public class User {
    private int id;
    private String username;
    private String password;
    private String email;
    private UserDetail detail; // 一对一关联

    // getter和setter方法
}

 🎂用户详情实体类(UserDetail):

public class UserDetail {
    private int id;
    private int userId;
    private String realName;
    private int age;
    private String address;

    // getter和setter方法
}

 🎂一对多关联查询:

 🎂订单实体类(Order):

public class Order {
    private int id;
    private String orderNo;
    private Date createTime;
    private List<OrderDetail> details; // 一对多关联

    // getter和setter方法
}

 🎂订单详情实体类(OrderDetail):

public class OrderDetail {
    private int id;
    private int orderId;
    private String productName;
    private double price;
    private int quantity;

    // getter和setter方法
}

 🎂下面是上面代码中所涉及到的表结构设计:

 🎂一对一关联查询:

 🎂用户表(user):

字段名类型描述
idint用户ID
usernamevarchar用户名
passwordvarchar密码
emailvarchar邮箱地址

 🎂用户详情表(user_detail):

字段名类型描述
idint用户详情ID
user_idint用户ID
real_namevarchar真实姓名
ageint年龄
addressvarchar地址

 🎂一对多关联查询:

 🎂订单表(order):

字段名类型描述
idint订单ID
order_novarchar订单号
create_timedate创建时间

 🎂订单详情表(order_detail):

字段名类型描述
idint订单详情ID
order_idint订单ID
product_namevarchar商品名称
pricedouble商品价格
quantityint商品数量

 🎂数据格式:

 🎂在一对多关联查询中,查询结果的格式通常是一个主表记录对应多个从表记录,即一个主表记录对应一个包含多个从表记录的集合。以订单表(order)和订单详情表(order_detail)为例,查询结果的格式如下:

{
  "id": 1,
  "orderNo": "202201010001",
  "createTime": "2022-01-01",
  "details": [
    {
      "id": 1,
      "orderId": 1,
      "productName": "商品1",
      "price": 100.0,
      "quantity": 2
    },
    {
      "id": 2,
      "orderId": 1,
      "productName": "商品2",
      "price": 200.0,
      "quantity": 1
    }
  ]
}

 🎂在一对一关联查询中,查询结果的格式通常是一个主表记录对应一个从表记录,即一个主表记录对应一个从表记录对象。以用户表(user)和用户详情表(user_detail)为例,查询结果的格式如下:

{
  "id": 1,
  "username": "test",
  "password": "123456",
  "email": "test@example.com",
  "detail": {
    "id": 1,
    "userId": 1,
    "realName": "张三",
    "age": 20,
    "address": "北京市"
  }
}
举报

相关推荐

0 条评论