mybatis多表查询

方式1:

创建结果对象,mapper接口和mapper.xml文件等

#pojo
package com.e3mall.cms.pojo;
import lombok.Data;
//item+item_cat
@Data
public class demo1 {
    private Long id;
    private String title;
    private String sellPoint;
    private Long price;
    private String catName;
}

#mapper接口
@Component
public interface Demo1Mapper {
    List<demo1> getDemoList();
}

#mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.e3mall.cms.dao.mapper.Demo1Mapper" >
    <resultMap id="BaseResultMap" type="com.e3mall.cms.pojo.demo1" >
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="title" property="title" jdbcType="VARCHAR" />
        <result column="sell_point" property="sellPoint" jdbcType="VARCHAR" />
        <result column="price" property="price" jdbcType="BIGINT" />
        <result column="catName" property="catName" jdbcType="VARCHAR" />
    </resultMap>
    <select id="getDemoList" resultMap="BaseResultMap" >
        SELECT a.id , a.title , a.sell_point , a.price , b.name catName FROM tb_item a , tb_item_cat b where a.cid = b.id AND a.id = 816448
    </select>
</mapper>
View Code

 方式2:

与方式1类似,也要自己创建结果对象,但是不需要创建mapper接口和mapper.xml文件,而是在原来的其中一个mapper中添加查询sql

#mapper.xml
#添加一个新的resultMap,注意id不能重复
<resultMap id="Demo1ResultMap" type="com.e3mall.cms.pojo.demo1" >
    <id column="id" property="id" jdbcType="BIGINT" />
    <result column="title" property="title" jdbcType="VARCHAR" />
    <result column="sell_point" property="sellPoint" jdbcType="VARCHAR" />
    <result column="price" property="price" jdbcType="BIGINT" />
    <result column="catName" property="catName" jdbcType="VARCHAR" />
  </resultMap>

#添加对应的查询语句
 <select id="getDemoList" resultMap="Demo1ResultMap" >
    SELECT a.id , a.title , a.sell_point , a.price , b.name catName FROM tb_item a , tb_item_cat b where a.cid = b.id AND a.id &lt; 635906
  </select>
View Code

 方式3:

将有关联的pojo中,添加外键对象,这里有个不错的博客,就不实验了

博客:https://cloud.tencent.com/developer/article/1120380

转载于:https://www.cnblogs.com/tianphone/p/10949865.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值