hibernate09--连接查询
2021-06-20 00:06
阅读:626
标签:nbsp 返回 XML cad 姓名 apach 测试数据 key 数组
创建实体类

package cn.bdqn.bean;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author 小豆腐
*
*员工的实体类
*/
public class Emp {
private Integer empNo;
private String empName;
private String job;
private Double salary;
private Date hireDate;
//多个员工属于一个部门
private Dept dept;
public Integer getEmpNo() {
return empNo;
}
public void setEmpNo(Integer empNo) {
this.empNo = empNo;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
public Date getHireDate() {
return hireDate;
}
public void setHireDate(Date hireDate) {
this.hireDate = hireDate;
}
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public Emp(Integer empNo, String empName, String job, Double salary,
Date hireDate, Dept dept) {
super();
this.empNo = empNo;
this.empName = empName;
this.job = job;
this.salary = salary;
this.hireDate = hireDate;
this.dept = dept;
}
public Emp() {
super();
}
@Override
public String toString() {
return "Emp [empNo=" + empNo + ", empName=" + empName + ", job=" + job
+ ", salary=" + salary + ", hireDate=" + hireDate + ", dept="
+ dept + "]";
}
}


package cn.bdqn.bean;
import java.util.HashSet;
import java.util.Set;
import com.sun.org.apache.bcel.internal.generic.NEW;
/**
*
* 部门的实体类
*/
public class Dept {
private Integer deptNo;
private String deptName;
private String location;
//一个部门对应多个员工
private Set emps=new HashSet();
public Integer getDeptNo() {
return deptNo;
}
public void setDeptNo(Integer deptNo) {
this.deptNo = deptNo;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Set getEmps() {
return emps;
}
public void setEmps(Set emps) {
this.emps = emps;
}
public Dept(Integer deptNo, String deptName, String location, Set emps) {
super();
this.deptNo = deptNo;
this.deptName = deptName;
this.location = location;
this.emps = emps;
}
public Dept() {
super();
}
@Override
public String toString() {
return "Dept [deptNo=" + deptNo + ", deptName=" + deptName
+ ", location=" + location + ", emps=" + emps.size() + "]";
}
}

创建对应的数据库表


创建对应的映射文件




在hibernate.cfg.xml文件中 管理两个映射文件之后,创建测试类代码

public class EmpTest {
Session session =null;
Transaction transaction=null;
@Before
public void before(){
session = HibernateSessionUtil.getCurrentSession();
transaction= session.beginTransaction();
}
/**
* 先给两个表中 增加测试数据
*/
@Test
public void testAdd(){
/**
* 因为我们设置了级联操作 cascade=all
* 那么我们就可以在保存部门信息的时候保存员工
*/
Dept dept=new Dept();
dept.setDeptNo(2);
dept.setDeptName("市场部");
dept.setLocation("2楼");
//创建员工
Emp emp1=new Emp(5, "员工5", "程序猿5", 5000.0,dept);
Emp emp2=new Emp(6, "员工6", "程序猿6", 545000.0,dept);
Emp emp3=new Emp(7, "员工7", "程序猿7", 2000.0,dept);
Emp emp4=new Emp(8, "员工8", "程序猿8", 98000.0,dept);
Set emps=new HashSet();
emps.add(emp1);
emps.add(emp2);
emps.add(emp3);
emps.add(emp4);
dept.setEmps(emps); //把所有的员工放入了集合中
session.save(dept);
transaction.commit();
}
/**
* 所有的迫切连接返回的都是一个对象! 有fetch===》迫切连接
* 所有的非迫切连接返回的都是一个数组!
*
*
* 01.使用内连接查询 两个表的所有数据
* sql语句
* select * from emp inner join dept
on dept.deptno=emp.deptno
hql语句
from Emp e inner join e.dept(Emp类中的关联属性名)
*/
@Test
public void test01(){
String hql="from Emp e inner join e.dept";
List
hibernate09--连接查询
标签:nbsp 返回 XML cad 姓名 apach 测试数据 key 数组
原文地址:http://www.cnblogs.com/HHR-SUN/p/7190961.html
下一篇:Flask入门-上传的问题
评论
亲,登录后才可以留言!