需求:前台展示的数据需要两张表一个是巡诊记录表一个是老人信息表,但是框架本身自动生成方法都是单表查询,所以需要自己重新写.

前台代码

//请求
import axios from "axios";
export default {findListAllByConditions(data) {return axios.post('api/XXX/findListAllByConditions', data)},
}
//模糊查询方法
findListAllByConditions() {let current = this.current;let pageSize = this.pageSize;let keyword = this.keyword;let req = {};if (keyword !== undefined && keyword !== "" && keyword !== null) {req.keyword = keyword;}req.current = current;req.pageSize = pageSize;let that = thisfindListAllByConditions(req).then((response) => {this.totalSize = response.data.content.totallet content = response.data.content.listlet dataSet = []let i = 1content.forEach(x => {dataSet.push({index: (i++) + (that.current - 1) * that.pageSize,key: x.id,key: x.name,})})this.data = dataSetconsole.log(response)}).catch((response) => {console.log(response);})
},

VO部分就是你前台需要回填哪些参数就写哪些

package xxx.dailyDiagnosis;
import lombok.Data;
import java.io.Serializable;
/*** @author wym*/
@Data
public class DailyDiagnosisVO implements Serializable {private Integer id;private String name;
}

DTO部分是你传给后端用来查询的条件参数

package xxx.dailyDiagnosis;
import lombok.Data;
import java.io.Serializable;
/*** @author wym*/
@Data
public class DailyDiagnosisDTO implements Serializable {private String keyword;private Integer current;private Integer pageSize;
}

controller

package xxx.dailyDiagnosis;
import com.github.pagehelper.PageInfo;
import xxx.commons.entity.ResultEntity;
import xxx.dto.dailyDiagnosis.DailyDiagnosisDTO;
import xxx.service.dailyDiagnosis.DailyDiagnosisService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;@RequestMapping("api/xxx")
@Api(tags = "xxx")
@Controller
@Slf4j
public class DailyDiagnosisController {@Autowiredprivate DailyDiagnosisService dailyDiagnosisService;@ApiOperation("自定义查询列表(老人信息表+日常巡视表)")@RequestMapping(value = "findListAllByConditions", method = RequestMethod.POST)@ResponseBodypublic ResultEntity findListAllByConditions(@RequestBody DailyDiagnosisDTO searchDTO) {PageInfo result = dailyDiagnosisService.findListAllByConditions(searchDTO);return ResultEntity.findOk(result);}
}

service实现类

package xxx.service.impl.dailyDiagnosis;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import xxx.constant.BaseConstant;
import xxx.dto.dailyDiagnosis.DailyDiagnosisDTO;
import xxx.entity.dailyDiagnosis.DailyDiagnosisEntity;
import xxx.mapper.dailyDiagnosis.DailyDiagnosisMapper;
import xxx.service.dailyDiagnosis.DailyDiagnosisService;
import java.util.List;
import xxx.vo.dailyDiagnosis.DailyDiagnosisVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
@Slf4j
public class DailyDiagnosisServiceImpl extends ServiceImpl<DailyDiagnosisMapper, DailyDiagnosisEntity> implements DailyDiagnosisService {@Autowiredprivate DailyDiagnosisMapper dailyDiagnosisMapper;@Overridepublic PageInfo findListAllByConditions(DailyDiagnosisDTO searchDTO) {int currentPage = ObjectUtil.isNotEmpty(searchDTO.getCurrent()) ? searchDTO.getCurrent() : BaseConstant.DEFAULT_PAGE_INDEX;int pageSize = ObjectUtil.isNotEmpty(searchDTO.getPageSize()) ? searchDTO.getPageSize() : BaseConstant.MAX_PAGE_SIZE;PageHelper.startPage(currentPage, pageSize);List<DailyDiagnosisVO> dailyDiagnosisList = dailyDiagnosisMapper.findDailyDiagnosisList(searchDTO);PageInfo pageInfo = new PageInfo<>(dailyDiagnosisList);return pageInfo;}
}

mapper

package xxx.mapper.dailyDiagnosis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import xxx.dto.dailyDiagnosis.DailyDiagnosisDTO;
import xxx.entity.dailyDiagnosis.DailyDiagnosisEntity;
import xxx.vo.dailyDiagnosis.DailyDiagnosisVO;
import java.util.List;public interface DailyDiagnosisMapper extends BaseMapper<DailyDiagnosisEntity> {List<DailyDiagnosisVO> findDailyDiagnosisList(DailyDiagnosisDTO searchDTO);
}

mappers 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="xxx.mapper.dailyDiagnosis.DailyDiagnosisMapper"><cache/><resultMap id="BaseResultMap" type="xxx.entity.dailyDiagnosis.DailyDiagnosisEntity"><id column="id" jdbcType="INTEGER" property="id"/><result column="oid" jdbcType="INTEGER" property="oid"/><result column="create_time" jdbcType="TIMESTAMP" property="createTime"/><result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/></resultMap><select id="findDailyDiagnosisList" resultType="xxx.vo.dailyDiagnosis.DailyDiagnosisVO">select a.id, b.namefrom b_daily_diagnosis as a, b_old_info as bwhere a.is_deleted =0 and a.oid = b.id<if test="keyword != null and keyword !='' ">AND ((a.doctor_name LIKE CONCAT(CONCAT('%',#{keyword},'%')))OR (b.name LIKE CONCAT(CONCAT('%',#{keyword},'%')))</if>ORDER BY a.create_time DESC</select>
</mapper>

思路就是这样,代码部分稍微省略了一点点,之前我看百度有的文章说应该把两个实体类合并成一个新的实体类作为resultType的返回类型,但是使用VO更简单,只需要关注前端需要哪些参数就行.(新手理解)

mybatis多表查询(两表)例子相关推荐

  1. thinkphp多表查询两表有重复相同字段解决方法

    框架:thinkphp 版本:3.2.3 内容:查询语句 解决问题:重复字段问题 $Data = M('a')->where($where)->Field('a.name as aname ...

  2. SSH注解 关于hibernate一对一双向外键级联关系 查询两表的内容 例子

    由于要查询两张表的内容,所以去了解了下hibernate 的一对一级联 .现在写了个简单的SSH 注解的 一对一双向级联. 关于一对一双向级联详解我推荐这个博客.我感觉写的很好.     hibern ...

  3. 数据库一对多做链接去重_数据库单表查询-多表查询

    """ 1.字段修改 alter modify alter change alter add ''|first|after alter drop 2.表关系: 一对一:外 ...

  4. day44 数据库单表查询-多表查询

    目录 复习 今日内容 单表查询 连表查询 复习 """ 1.字段修改alter modifyalter changealter add ''|first|afteralt ...

  5. mysql记录相互关系查询_MySQL关系表查询两个表的数据

    如下,有四张表:游戏类型表,游戏表,点卡和游戏关系表,点卡表 CREATE TABLE `gamesType`( `tId` INT AUTO_INCREMENT NOT NULL PRIMARY K ...

  6. Mysql的多表查询(表添加,多表查询练习:笛卡尔积、内连接、外连接、子查询、UNION组合查询)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 一.表的创建 ...

  7. python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)...

    一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...

  8. oracle 锁表查询和解表操作

    数据库操作语句的分类 DDL:数据库模式定义语言,关键字:create DML:数据操纵语言,关键字:Insert.delete.update DCL:数据库控制语言 ,关键字:grant.remov ...

  9. mysql连表查询,多表查询

    先展示两个表 学生表: 老师表: 年级班级表 普通连表查询 查询年级的管理老师和班级的管理老师 select gradeclass.name as gradeName,teacher.name as ...

最新文章

  1. B - Paint The Wall HDU - 4391[分块hash+tag标记]
  2. mac PHP集成开发工具(PhpStorm)
  3. C++描述杭电OJ 2008.数值统计 ||
  4. AddThis AddFeed WordPress插件发布 [转]
  5. C语言中除法怎么取得小数
  6. 全能地图下载器最终破解版及安装教程【最终破解版、完美注册、最全教程、支持win10】
  7. 本特利框架3500/05-01-01-CN-00
  8. Python 爬虫 scrapy 反 反爬虫策略
  9. Python -- 创建数字列表
  10. 18_2Servlet学习笔记
  11. 智能网联建设核心评价指标探讨
  12. 可转债交易薅羊毛策略 — Python 量化投资实战教程(10)
  13. 学习笔记:WEB安全防护
  14. springboot整合redis报错org.springframework.beans.factory.UnsatisfiedDependencyException
  15. SpringMVC整合websocket实现消息推送及触发
  16. 嫦娥是白月光,高翠兰是朱砂痣,谁才是猪八戒最想娶的女人
  17. android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)
  18. vue3实现搜索功能
  19. Support for password authentication was removed on August 13, 2021.解决办法大全
  20. 随意取名取字php,给孩子取名可诗意莫随意

热门文章

  1. 谷歌网页无法翻译4步教你搞定
  2. linux 找不到g09,科学网—如何在非用户目录下安装高斯 g09 - 陈照强的博文
  3. 手语也能机器翻译了!机器学习手势识别功能了解一下
  4. Linux中fcitx输入法配置文件,Ubuntu下Fcitx输入法的安装与配置
  5. 深入了解 Json Web Token 之概念篇
  6. 线性回归分析实例(餐饮数据)python皮尔逊相关性
  7. linux运行游戏模拟器,Linux系统上安装ePSXe 1.6.0游戏模拟器
  8. WPF 打印A3 A4 纸张大小的图片
  9. 音频(八)——C语言生成正弦波并用 I2S 输出
  10. 哪些ipad的APP可以很好的阅读英文文献?