MyBatis主子表查询
一、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主子表查询相关推荐
- Mybatis——主子表查询的Mapper
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- MyBatis多表查询之XML和注解实现(resultMap结果集映射配置数据库字段与实体类属性一一映射)
MyBatis多表查询 多表模型分类 一对一:在任意一方建立外键,关联对方的主键. 一对多:在多的一方建立外键,关联一的一方的主键. 多对多:借助中间表,中间表至少两个字段,分别关联两张表的主键. 数 ...
- Mybatis—多表查询
Mybatis多表查询 一对一查询 一对一查询的模型MapperScannerConfigurer 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 创建Order和User实体 ...
- 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 ...
- mybatis多表查询(一对多,多对一,多对多)
mybatis多表查询.多对一,一对多,多对多 多对一.一对多 准备阶段 建立dept实体类和emp实体类 建立Dao接口 写Dao的Mapper映射 多对多 多对一.一对多 准备阶段 建立一个部门表 ...
- 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...
- Mybatis多表查询之一对多、多对一
目录 前言 一.建立数据库 二.多对一查询 2.1 编写实体类 2.2 编写接口 2.3 编写Mapper配置文件 (StudentMapper.xml) 2.4 多对一查询结果 三.一对多查询 3. ...
- mybatis联表查询且统计数据
mybatis联表查询且统计数据 表1的数据+表2的数据的统计==>vo接收 前端原型图如下: 涉及到两张表 t_record t_user_record 详情A/B A:未签收人数 B:全部人 ...
- 7.Mybatis关联表查询(这里主要讲的是一对一和一对多的关联查询)
视频地址:http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询,当然你也可以用包装类来实 ...
最新文章
- Apache模块开发helloworld无错版
- CISCO与华为3COM路由器配置差别
- 【Python基础】如何编写简洁美观的Python代码
- 比较流行的js前端框架
- Android开发Android studio之gradle打包apk重命名的方法
- mysql ondumplictcate_4.5万字手把手教你实现MySQL TB级数据存储!!
- 【Sentry】为什么Cloudera要创建Hadoop安全组件Sentry?
- linux 配置root环境变量,root用户Linux 环境变量的配置解决(-bash: jps: command not found)有关问题...
- mysql8.0卡cpu_MySQL 8.0资源组有效解决慢SQL引发CPU告警
- PRD产品需求文档原型模版 Axure RP格式
- Yolov5+Resnet+Flask实现唇语识别系统
- ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!
- 详述快捷支付产品功能及设计要点
- 生成订单:三个表(Products,Orders,OrderItem)
- ThinkPad T410i 安装 Mac10.8.3 记录
- 在web页面实时播放监控视频
- iNFTnews | 元宇宙浪潮下,企业正通过AR和VR技术改善客户体验
- buuctf Mark loves cat
- lua生成指定大小的随机字符串
- 炒股票基础理论——道氏股价波动理论
热门文章
- 面试官为什么那么抵触程序员培训?
- postfix + dovecot + mysql 创建虚拟用户(二)
- 【Linux】ubuntu16.04/18.04安装I219-V有线网卡驱动
- redis杂乱小知识
- Arduino与Proteus仿真实例-简单信号频率计数仿真
- 【论文阅读】【ViT系列】ViT:一张图片用于大规模图像识别的Transformers(手动翻译)
- 人生就是一次充满未知的旅行,在乎的是沿途的风景,在乎的是看风景的心情, 旅行不会因为美丽的风景终止。
- a king读后感 love of the_英语阅读读后感
- 年后胖三斤,减肥你准备好了吗
- 2021 如何自学 Android,一位 5 年中大厂的 Android 老哥跟你聊聊