当前位置: 首页 > news >正文

沙田镇网站建设公司黄页网

沙田镇网站建设公司,黄页网,wordpress 安装 ubuntu,wordpress社区系统前面文章 java springboot整合MyBatis做数据库查询操作写了springboot整合MyBatis的方法 并演示了基础查询的语法 根据id查 那么 我们这次来演示联合查询 我们staff 表 内容如下 每条数据 对应的都有一个departmentid 这是 department部门表的外键id department表内容如下 如…

前面文章 java springboot整合MyBatis做数据库查询操作写了springboot整合MyBatis的方法 并演示了基础查询的语法 根据id查

那么 我们这次来演示联合查询
我们staff 表 内容如下
在这里插入图片描述
每条数据 对应的都有一个departmentid 这是 department部门表的外键id
department表内容如下
在这里插入图片描述
如果你连主外键都还未掌握的话 建议先去用 MySql实现了 联合查询 再来用开发语言实现

然后 我们将 staff 代码修改如下

package com.example.textm.domain;public class staff {private int id;private String name;private int age;private int status;private int departmentid;private String departmentName;@Overridepublic String toString(){return "staff{"+"id"+id+"namne"+name+"age"+age+"status"+status+"departmentid"+departmentid+(departmentName != null?"departmentName"+departmentName:"")+"}";}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}public int getDepartmentid() {return departmentid;}public void setDepartmentid(int departmentid) {this.departmentid = departmentid;}public void setDepartmentName(String departmentName) {this.departmentName = departmentName;}public String getDepartmentName() {return departmentName;}
}

新加了一个departmentName是用来存 部门名称的 我们用MyBatis查询 直接挂我们需要的字段就好了 没必要整个对象都带进来
然后 我们在staffDao添加一个函数

Select("select s.*, d.name as departmentName from staff s inner join department d on s.departmentid=d.id;")
List<staff> getAllStaffWithDepartment();

我们 sql中已经写明 将 department代理为 d 然后 将d中的 name转为departmentName
这就是我说的 思路 如果你还有个age 继续往后加就好了

@Select("SELECT s.*, d.name AS departmentName, d.age AS departmentAge FROM staff s INNER JOIN department d ON s.departmentid=d.id;")
List<staff> getAllStaffWithDepartment();

然后 我们通过测试类 来调用getAllStaffWithDepartment
编写代码如下

System.out.println(staffDao.getAllStaffWithDepartment());

在这里插入图片描述
运行结果如下
在这里插入图片描述
我们的人员也都被带出了 部门信息

然后 在 domain目录下创建一个 department
这就是 department 表对应的属性类
参考代码如下

package com.example.textm.domain;import java.util.List;public class department {private int id;private String name;private List<staff> staffList;@Overridepublic String toString(){return "department{"+"id="+id+"name="+name+(staffList != null?staffList:"暂无员工")+"}";}public void setId(int id) {this.id = id;}public int getId() {return id;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setStaffList(List<staff> staffList) {this.staffList = staffList;}public List<staff> getStaffList() {return staffList;}
}

对加了一个 staffList 用来存 部门下的员工 类型当然就是一个staff员工类的list集合
然后 在dao下创建一个接口 叫 departmentDom
用来写 department这边的sql
然后 我们编写代码

package com.example.textm.dao;import com.example.textm.domain.department;
import org.apache.ibatis.annotations.*;import java.util.List;@Mapper
public interface departmentDom {@Select("SELECT d.id as deptId, d.name as deptName FROM department d")@Results(id = "departmentMap", value = {@Result(property = "id", column = "deptId"),@Result(property = "name", column = "deptName"),@Result(property = "staffList", column = "deptId", javaType = List.class,many = @Many(select = "com.example.textm.dao.staffDao.getStaffByDepartmentId"))})List<department> getAllDepartmentsWithStaff();
}

我们方法中的 sql是根据部门表 department 去查 顺便带出员工表外键对应的信息 我指定 id和name用自己的 staffList 通过staffDao接口的 getStaffByDepartmentId函数去获取

所以 我们staffDao接口还要再加一个函数 通过 部门id 查询 staff员工表 然后反应 staff员工类的list集合给他的函数

@Select("SELECT * FROM staff WHERE departmentid = #{departmentId}")
List<staff> getStaffByDepartmentId(int departmentId);

然后 在测试类中调用 departmentDom 的getAllDepartmentsWithStaff
首先 我们要写

@Autowired
private departmentDom departmentDom;

装配一下我们刚刚写的 departmentDom
然后调用

System.out.println(departmentDom.getAllDepartmentsWithStaff())

在这里插入图片描述
运行结果如下
在这里插入图片描述
我们部门下 也都带出了对应的员工信息

http://www.tj-hxxt.cn/news/14136.html

相关文章:

  • 网站搭建软件工具百度引擎搜索
  • 留言的网页怎么制作青岛seo搜索优化
  • 珠宝出售网站模板超级搜索引擎
  • 网站 三合一百度登录入口百度
  • 网站禁止火车头采集中文搜索引擎排名
  • 哪个网站做室内效果图厉害运营推广计划
  • 南宁网站建设公司网站seo分析工具
  • 做生鲜食品最好的网站网络营销策划需要包括哪些内容
  • 网站有中文源码加英文怎么做免费模板网站
  • 网站开发用软件廊坊百度seo公司
  • 文登住房与建设局网站网站维护中
  • 什么网站可以做简历大庆建站公司
  • 做软件去哪个网站谷歌搜索引擎
  • 网站咋做什么是搜索引擎营销?
  • 移动互联网项目创业融资计划书seo渠道是什么意思
  • 做单屏网站 高度是多少识图搜索在线 照片识别
  • ftp网站 免费googleplay
  • 个人可以建门户网站吗软件开发公司经营范围
  • wordpress url seo青岛网站快速排名优化
  • 栖霞网站定制长春关键词优化平台
  • 抛丸机网站怎么做谷歌优化工具
  • 网站首页代码在哪里武汉seo排名
  • 涉县专业做网站百度竞价推广怎么样才有效果
  • 东海县建网站win7优化
  • 洛阳网站公司电工培训内容
  • 网站空间查询赛雷猴是什么意思
  • 做网站图片知识搜索率最高的关键词
  • 织梦素材网站模板免费下载搜索引擎优化的具体操作
  • 网站制作公司 沧州建网站设计
  • 网站服务器安全部署宁波seo的公司联系方式