Hibernate-get()/load()/save()

// 级联关系反转inverse,默认为false
	public void inverseEmp() {
		session = HibernateUtil.getSession();
		Transaction tx = session.beginTransaction();
		Emp e = (Emp) session.get(Emp.class, 8101);
		Dept d = (Dept) session.get(Dept.class, new Byte("30"));
		e.setDept(d);
		d.getEmps().add(e);
		tx.commit();
		HibernateUtil.closeSession();
	}
// 关联关系中的cascade属性,级联删除
public void cascadeDel() {
		session = HibernateUtil.getSession();
		Transaction tx = session.beginTransaction();
		Dept d = (Dept) session.load(Dept.class, new Byte("70"));
		session.delete(d);
		tx.commit();
		HibernateUtil.closeSession();
	}
// 关联关系中的cascade属性,级联添加
	public void cascadeAdd() {
		session = HibernateUtil.getSession();
		Transaction tx = session.beginTransaction();
		Dept d = new Dept();
		d.setDeptNo(new Byte("70"));
		d.setDeptName("皇后酒店");
		d.setLocation("国王大道");
		Emp e1 = new Emp(8101, "小桌子");
		Emp e2 = new Emp(8102, "小凳子");
		d.getEmps().add(e1);
		d.getEmps().add(e2);
		session.save(d);
		tx.commit();
		HibernateUtil.closeSession();
	}
// dept-emp一对多
	public void qDept() {
		session = HibernateUtil.getSession();
		sql = "from Dept where deptNo =30";
		Query query = session.createQuery(sql);
		Dept d = (Dept) query.uniqueResult();
		Set<Emp> emps = d.getEmps();
		System.out.println("部门:" + d.getDeptName());
		for (Emp e : emps) {
			System.out.println("员工:" + e.getEname());
		}

		HibernateUtil.closeSession();

	}
// emp-dept联合查询多对一
	public void qEmp() {

		session = HibernateUtil.getSession();
		sql = "from Emp where empNo =7788";
		Query query = session.createQuery(sql);
		Emp e = (Emp) query.uniqueResult();

		System.out.println("姓名:" + e.getEname() + "部门:"
				+ e.getDept().getDeptName());

		HibernateUtil.closeSession();
	}
// 通过迭代器查询
	public void qDeptByIt() {

		session = HibernateUtil.getSession();
		sql = "from Dept";
		Query query = session.createQuery(sql);
		Iterator<Dept> it = query.iterate();
		while (it.hasNext()) {
			Dept d = it.next();
			System.out.println(d.getDeptName());
		}
		HibernateUtil.closeSession();
	}
// 查询一列
	public void qOneDept() {
		session = HibernateUtil.getSession();
		sql = "from Dept where deptName like ?";
		Query query = session.createQuery(sql);
		List<Byte> objArr = query.list();
		for (Byte b : objArr) {
			System.out.println(b);
		}
		HibernateUtil.closeSession();
	}
// 查询部分列
	public void qSomeDept() {
		session = HibernateUtil.getSession();
		sql = "select deptNo,deptName from Dept";
		Query query = session.createQuery(sql);
		List<Object[]> objArr = query.list();
		for (Object[] obj : objArr) {
			System.out.println(obj[0] + "," + obj[1]);
		}
		HibernateUtil.closeSession();
	}
// 统计记录数
	public void countDept() {
		session = HibernateUtil.getSession();
		sql = "select count(*) from Dept";
		Query query = session.createQuery(sql);
		int num = ((Long) query.uniqueResult()).intValue();
		System.out.println(num);
		session.close();
	}
// 动态查询
public void qdept() {
		DeptCondition dc = new DeptCondition();
		dc.setDeptNo(new Byte("20"));
		session = HibernateUtil.getSession();
		StringBuffer sb = new StringBuffer("from Dept where 1=1");
		/*
		 * if(dc.getDeptNo()>0){ sb.append("and deptNo>:deptNo"); }
		 */
		sql = sb.toString();
		Query query = session.createQuery(sql);
		query.setProperties(dc);
		query.setFirstResult(0);
		query.setMaxResults(2);
		List<Dept> dlist = query.list();
		for (Dept d : dlist) {

			System.out.println(d.getDeptName());
		}

	}
// 查询语句
/*
 * public void queryDept() { session = HibernateUtil.getSessi bon(); sql =
 * "from Dept where deptName=:deptName"; String deptName = "SALES";
 * DeptCondition dc = new DeptCondition(deptName); Query query =
 * session.createQuery(sql); query.setProperties(dc); List<Dept> dlist =
 * query.list(); for (Dept d : dlist) { System.out.println(d.getDeptNo());
 * 
 * } HibernateUtil.closeSession();
 */

/* } */

// Detp表的操作
	public void delete() {

		Session session = HibernateUtil.getSession();
		Transaction tx = session.beginTransaction();
		Dept d = new Dept();
		d.setDeptNo(new Byte("60"));
		session.delete(d);
		tx.commit();
		HibernateUtil.closeSession();
	}
// session.get(obj.class,"");
	public void update1() {
		// 读取总配置文件
		Configuration conf = new Configuration().configure();
		// 创建SessionFactory对象
		SessionFactory sf = conf.buildSessionFactory();
		// 打开一个session会话
		Session session = sf.openSession();
		Dept d = (Dept) session.load(Dept.class, new Byte("50"));
		d.setDeptName("凤巢");
		d.setLocation("北京");
		Transaction tx = session.beginTransaction();
		tx.commit();
		session.close();

	}// session.get(obj.class,"");
	public void update2() {
		// 读取总配置文件
		Configuration conf = new Configuration().configure();
		// 创建SessionFactory对象
		SessionFactory sf = conf.buildSessionFactory();
		// 打开一个session会话
		Session session = sf.openSession();

		Dept d = new Dept();
		d.setDeptNo(new Byte("60"));
		d.setDeptName("凤巢");
		// d.setLocation("北京");
		Transaction tx = session.beginTransaction();
		session.merge(d);
		tx.commit();
		session.close();
	}
// session.get(obj.class,"");
public void get() {
		// 读取总配置文件
		Configuration conf = new Configuration().configure();
		// 创建SessionFactory对象
		SessionFactory sf = conf.buildSessionFactory();
		// 打开一个session会话
		Session session = sf.openSession();

		Dept d = (Dept) session.load(Dept.class, new Byte("50"));
		System.out.println("部门:" + d.getDeptName() + "  位置:" + d.getLocation());

	}
// session.save(obj)
	public void add() {

		// 读取总配置文件
		Configuration conf = new Configuration().configure();
		// 创建SessionFactory对象
		SessionFactory sf = conf.buildSessionFactory();
		// 打开一个session会话
		Session session = sf.openSession();
		// 开启事务
		Transaction tx = session.beginTransaction();
		Dept d = new Dept();
		d.setDeptNo(new Byte("60"));
		d.setDeptName("技术部");
		d.setLocation("郑州");
		// 插入数据,底层执行SQL insert into 语句
		session.save(d);
		// 提交事务
		tx.commit();
		// 关闭会话
		session.close();
	}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值