zl程序教程

您现在的位置是:首页 >  后端

当前栏目

mybatis由浅入深day02_2一对一查询_2.2方法一:resultType

方法mybatis 查询 2.2 一对一 由浅入深 Day02
2023-09-27 14:25:08 时间

一对一查询

  2.1 需求(查询所有订单信息,关联查询创建订单的用户信)

 

查询所有订单信息,关联查询创建订单的用户信息

 

注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。

 

  2.2 方法一:resultType

使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息:

    2.2.1 sql语句

确定查询的主表:订单表

确定查询的关联表:用户表

  关联查询使用内链接?还是外链接?

  由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询出一条记录,可以使用内链接。

SELECT
  orders.*,
  USER.username,
  USER.sex,
  USER.address
FROM
  orders,
  USER
WHERE orders.user_id = user.id

  

    2.2.2 创建pojo

将上边sql查询的结果映射到pojo中,pojo中必须包括所有查询列名(字段)

 

原始的Orders.java不能映射全部字段,需要新创建的pojo。

 

创建一个pojo继承包括查询字段较多的po类。

 

原始的Orders.java

  

OrdersCustom.java

 

  

    2.2.3 mapper.xml

  

    2.2.4 mapper.java

  

2.2.5 测试代码