hibernate

package cn.jbit;

import java.util.Arrays;
import java.util.List;

import oracle.net.aso.a;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.ProjectionList;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Property;
import org.hibernate.criterion.Restrictions;
import org.junit.Test;

import cn.jbit.bean.Dept;
import cn.jbit.bean.Emp;
import cn.jbit.util.HibernateSessionFactory;

public class TestHibernate {
	@Test
	public void test1() {
		Session session = HibernateSessionFactory.getSession();
		List<Emp> emps = session.createCriteria(Emp.class)
		// .add(Restrictions.eq("ename", "SCOTT"))
		// .add(Restrictions.eq("empno", 7788))
		// .add(Restrictions
		// .in("empno", new Object[] { 7788, 7799, 7499 }))
		// .add(Restrictions.ilike("ename", "S", MatchMode.ANYWHERE))
				.addOrder(Order.desc("ename")).list();
		for (Emp emp : emps) {
			System.out.println(emp);
		}
	}

	@Test
	public void test3() {
		Session session = HibernateSessionFactory.getSession();
		Criteria criteria = session.createCriteria(Emp.class);
		criteria.setFirstResult(5);
		criteria.setMaxResults(5);
		List<Emp> emps = criteria.list();
		for (Emp emp : emps) {
			System.out.println(emp);
		}
	}

	@Test
	public void test4() {
		Session session = HibernateSessionFactory.getSession();
		Criteria criteria = session.createCriteria(Emp.class);
		Emp emp = (Emp) session.createCriteria(Emp.class)
				.add(Restrictions.eq("ename", "SCOTT")).setMaxResults(1)
				.uniqueResult();
		System.out.println(emp);

	}

	@Test
	public void test5() {
		Session session = HibernateSessionFactory.getSession();
		List<Emp> list = session.createCriteria(Emp.class, "e")
				.createAlias("dept", "d")
				// .add(Restrictions.ilike("e.empName", "a",
				// MatchMode.ANYWHERE))
				// .add(Restrictions.eq("d.deptName", "财务部").ignoreCase())
				.list();
		for (Emp emp : list) {
			System.out.println(emp + emp.getDept().getDname());
		}
	}

	@Test
	public void test6() {
		Session session = HibernateSessionFactory.getSession();
		List list = session.createCriteria(Emp.class)
				.setProjection(Property.forName("ename"))
				.setProjection(Property.forName("empno")).list();

		for (Object object : list) {
			System.out.println(object);
		}
	}

	@Test
	public void test7() {
		Session session = HibernateSessionFactory.getSession();
		List<Object[]> list = session
				.createCriteria(Emp.class)
				.setProjection(
						Projections.projectionList()
								.add(Property.forName("ename"))
								.add(Property.forName("empno"))).list();

		for (Object[] objs : list) {
			System.out.println(Arrays.toString(objs));
		}
	}

	@Test
	public void test8() {
		Session session = HibernateSessionFactory.getSession();
		List<Object[]> list = session
				.createCriteria(Emp.class)
				.setProjection(
						Projections.projectionList()
								.add(Projections.groupProperty("job"))
								.add(Projections.count("job"))).list();
		for (Object[] objects : list) {
			System.out.println(Arrays.toString(objects));
		}
	}

	@Test
	public void test9() {
		Session session = HibernateSessionFactory.getSession();
		List<Object> list = session.createCriteria(Emp.class)
				.setProjection(Projections.rowCount()).list();
		for (Object objects : list) {
			System.out.println(objects);
		}
	}

	@Test
	public void test2() {
		Session session = HibernateSessionFactory.getSession();
		List<Dept> emps = session.createCriteria(Dept.class).list();
		for (Dept dept : emps) {
			System.out.println(dept.getEmps());
		}
	}

	@Test
	public void test10() {
		DetachedCriteria detachedCriteria = DetachedCriteria
				.forClass(Dept.class);
		Session session = HibernateSessionFactory.getSession();
		List<Dept> emps = detachedCriteria.getExecutableCriteria(session)
				.list();
		for (Dept dept : emps) {
			System.out.println(dept);
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于学习Hibernate,我可以为你提供一些指导。Hibernate是一个Java持久化框架,用于将Java对象映射到关系数据库中。它简化了与数据库的交互,提供了ORM(对象关系映射)的功能。 如果你想学习Hibernate,以下是一些建议的步骤: 1. 了解基本概念:开始之前,建议你先了解一些Hibernate的基本概念,例如持久化、实体类、会话(Session)等。这将帮助你更好地理解Hibernate的工作原理。 2. 学习Hibernate配置:Hibernate使用一个配置文件来连接数据库和定义映射关系。你可以学习如何配置Hibernate以适应你的项目需求。这包括数据库连接配置、实体类映射等。 3. 学习Hibernate实体映射:Hibernate通过注解或XML文件将Java实体类映射到关系数据库表中。你可以学习如何使用注解或XML文件来定义实体类的映射。 4. 学习Hibernate查询语言(HQL):HQL是一种类似于SQL的查询语言,用于对数据库进行查询操作。学习如何使用HQL进行查询和操作数据库是很重要的。 5. 学习Hibernate事务管理:事务管理是在处理数据库操作时非常重要的一部分。学习如何使用Hibernate进行事务管理,包括开启事务、提交事务、回滚事务等。 6. 实践项目:最好的学习方法是通过实际项目来应用所学的知识。尝试在一个小型项目中使用Hibernate来进行数据库操作,这将帮助你更好地理解和掌握Hibernate的使用。 除了上述步骤,还有很多其他方面的内容可以学习,例如缓存管理、性能优化等。希望这些步骤能够帮助你入门Hibernate!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值