一、Mybatis查询语句

<select id="selectByProblemId" resultMap="findByProblemId">SELECTcp.id,cp.problem_id,cp.vote,cp.detail,cp.isdelete,cp.user_id,cp.islike,cp.headpic,cp.username,op.picture_urlFROMco_reply AS cpLEFT JOIN co_picture AS op ON cp.id = op.attach_idAND op.attach_type = 1WHEREcp.problem_id = #{problemId,jdbcType=INTEGER}AND cp.isdelete = 0ORDER BYcp.vote DESC,cp.create_time DESC</select>

二、通过XML将查询结果转成主子表方式

  <resultMap id="findByProblemId" type="com.yunxue.entity.CoReply"><id column="id" jdbcType="INTEGER" property="id" /><result column="problem_id" jdbcType="INTEGER" property="problemId" /><result column="vote" jdbcType="INTEGER" property="vote" /><result column="detail" jdbcType="VARCHAR" property="detail" /><result column="isdelete" jdbcType="INTEGER" property="isdelete" /><result column="user_id" jdbcType="INTEGER" property="userId" /><result column="headpic" jdbcType="INTEGER" property="headpic" /><result column="username" jdbcType="INTEGER" property="username" /><result column="islike" jdbcType="INTEGER" property="islike" /><collection property="coPictures" ofType="com.yunxue.entity.CoPicture"><id column="r_id" jdbcType="INTEGER" property="id" /><result column="picture_url" jdbcType="VARCHAR" property="pictureUrl" /></collection></resultMap>

三、Mapper文件

 List<CoReply> selectByProblemId(@Param("problemId") Integer problemId,@Param("user_id") Integer user_id);

四、Vo类

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value="CoReply对象", description="")
public class CoReply {@ApiModelProperty(value = "主键ID")private Integer id;@ApiModelProperty(value = "用户ID")private Integer userId = 0;@ApiModelProperty(value = "问题ID")private Integer problemId = 0;@ApiModelProperty(value = "点赞数")private Integer vote = 0;@ApiModelProperty(value = "答案详情")private String detail = "";@ApiModelProperty(value = "是否删除 0、否 1、是")private Boolean isdelete = false;@ApiModelProperty(value = "用户昵称")private String username = "";@ApiModelProperty(value = "头像地址")private String headpic = "";@ApiModelProperty(value = "是否点赞")private boolean islike = false;@ApiModelProperty(value = "图片地址")private List<CoPicture> coPictures = new ArrayList<>(0);@ApiModelProperty(value = "创建日期")@JsonInclude(JsonInclude.Include.NON_NULL)@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")private Date createTime;

五、实体类

@Data
@ApiModel(value="CoPicture对象", description="")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CoPicture {@ApiModelProperty(value = "主键ID")private Integer id;@ApiModelProperty(value = "图片地址")private String pictureUrl;@ApiModelProperty(value = "问题ID")private Integer attachId;@ApiModelProperty(value = "问题类型(0、问题 1、回答)")private Boolean attachType;

MyBatis主子表查询相关推荐

  1. Mybatis——主子表查询的Mapper

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  2. MyBatis多表查询之XML和注解实现(resultMap结果集映射配置数据库字段与实体类属性一一映射)

    MyBatis多表查询 多表模型分类 一对一:在任意一方建立外键,关联对方的主键. 一对多:在多的一方建立外键,关联一的一方的主键. 多对多:借助中间表,中间表至少两个字段,分别关联两张表的主键. 数 ...

  3. Mybatis—多表查询

    Mybatis多表查询 一对一查询 一对一查询的模型MapperScannerConfigurer 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 创建Order和User实体 ...

  4. java day55【 Mybatis 连接池与事务深入 、 Mybatis 的动态 SQL 语句、 Mybatis 多表查询之一对多 、 Mybatis 多表查询之多对多】...

    第1章 Mybatis 连接池与事务深入 1.1 Mybatis 的连接池技术 1.1.1 Mybatis 连接池的分类 1.1.2 Mybatis 中数据源的配置 1.1.3 Mybatis 中 D ...

  5. mybatis多表查询(一对多,多对一,多对多)

    mybatis多表查询.多对一,一对多,多对多 多对一.一对多 准备阶段 建立dept实体类和emp实体类 建立Dao接口 写Dao的Mapper映射 多对多 多对一.一对多 准备阶段 建立一个部门表 ...

  6. 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多

    7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...

  7. Mybatis多表查询之一对多、多对一

    目录 前言 一.建立数据库 二.多对一查询 2.1 编写实体类 2.2 编写接口 2.3 编写Mapper配置文件 (StudentMapper.xml) 2.4 多对一查询结果 三.一对多查询 3. ...

  8. mybatis联表查询且统计数据

    mybatis联表查询且统计数据 表1的数据+表2的数据的统计==>vo接收 前端原型图如下: 涉及到两张表 t_record t_user_record 详情A/B A:未签收人数 B:全部人 ...

  9. 7.Mybatis关联表查询(这里主要讲的是一对一和一对多的关联查询)

    视频地址:http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询,当然你也可以用包装类来实 ...

最新文章

  1. Apache模块开发helloworld无错版
  2. CISCO与华为3COM路由器配置差别
  3. 【Python基础】如何编写简洁美观的Python代码
  4. 比较流行的js前端框架
  5. Android开发Android studio之gradle打包apk重命名的方法
  6. mysql ondumplictcate_4.5万字手把手教你实现MySQL TB级数据存储!!
  7. 【Sentry】为什么Cloudera要创建Hadoop安全组件Sentry?
  8. linux 配置root环境变量,root用户Linux 环境变量的配置解决(-bash: jps: command not found)有关问题...
  9. mysql8.0卡cpu_MySQL 8.0资源组有效解决慢SQL引发CPU告警
  10. PRD产品需求文档原型模版 Axure RP格式
  11. Yolov5+Resnet+Flask实现唇语识别系统
  12. ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!
  13. 详述快捷支付产品功能及设计要点
  14. 生成订单:三个表(Products,Orders,OrderItem)
  15. ThinkPad T410i 安装 Mac10.8.3 记录
  16. 在web页面实时播放监控视频
  17. iNFTnews | 元宇宙浪潮下,企业正通过AR和VR技术改善客户体验
  18. buuctf Mark loves cat
  19. lua生成指定大小的随机字符串
  20. 炒股票基础理论——道氏股价波动理论

热门文章

  1. 面试官为什么那么抵触程序员培训?
  2. postfix + dovecot + mysql 创建虚拟用户(二)
  3. 【Linux】ubuntu16.04/18.04安装I219-V有线网卡驱动
  4. redis杂乱小知识
  5. Arduino与Proteus仿真实例-简单信号频率计数仿真
  6. 【论文阅读】【ViT系列】ViT:一张图片用于大规模图像识别的Transformers(手动翻译)
  7. 人生就是一次充满未知的旅行,在乎的是沿途的风景,在乎的是看风景的心情, 旅行不会因为美丽的风景终止。
  8. a king读后感 love of the_英语阅读读后感
  9. 年后胖三斤,减肥你准备好了吗
  10. 2021 如何自学 Android,一位 5 年中大厂的 Android 老哥跟你聊聊