HQL检索

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qwl755/article/details/84793270

目录

 

1.指定别名

2.投影查询

3.动态实例查询

4.条件查询--按参数位置查询

5.条件查询--按参数名字查询

6.分页查询


1.指定别名

/**
	 * 指定别名
	 */
	@Test
	public void aliadTest(){
		Configuration config=new Configuration().configure();
		SessionFactory sf=config.buildSessionFactory();
		Session session=sf.openSession();
		Transaction t=session.beginTransaction();
		
		//编写HQL
		String hql="from Customer as c where c.name='李四'";
		//创建一个Query对象
		Query query=session.createQuery(hql);
		List<Customer>cs=query.list();
		//遍历查询结果
		for (Customer c:cs){
			System.out.println(c);
		}
		t.commit();
		session.close();
		sf.close();				
	}

2.投影查询

/**
	 * 投影查询
	 *
	 */
	@Test
	public void portionQueryTest(){
		Configuration config=new Configuration().configure();
		SessionFactory sf=config.buildSessionFactory();
		Session session=sf.openSession();
		Transaction t=session.beginTransaction();
		
		//编写HQL
		String hql="select c.id,c.name from Customer as c";
		//创建一个Query对象
		Query query=session.createQuery(hql);
		List<Object[]>list=query.list();
		Iterator iter=list.iterator();
		//遍历查询结果
		while(iter.hasNext()){
			Object[] obj=(Object[])iter.next();
			System.out.println(obj[0]+" "+obj[1]);
		}
		t.commit();
		session.close();
		sf.close();	
	}

3.动态实例查询

/**
	 * 动态实例查询
	 * 
	 */
	@Test
	public void dynamicQueryTest(){
		Configuration config=new Configuration().configure();
		SessionFactory sf=config.buildSessionFactory();
		Session session=sf.openSession();
		Transaction t=session.beginTransaction();
		
		//编写HQL
		String hql="select new Customer(c.id,c.name)from Customer as c";
		//创建一个Query对象
		Query query=session.createQuery(hql);
		List<Customer>cs=query.list();
		//遍历查询结果
		for (Customer c:cs){
			System.out.println(c);
		}
		t.commit();
		session.close();
		sf.close();	
	}

4.条件查询--按参数位置查询

/**
	 * 条件查询--按参数位置查询
	 */
	@Test
	public void paramQueryTest1(){
		Configuration config=new Configuration().configure();
		SessionFactory sf=config.buildSessionFactory();
		Session session=sf.openSession();
		Transaction t=session.beginTransaction();
		
		//编写HQL
		String hql="from Customer where name like ?";
		//创建一个Query对象
		Query query=session.createQuery(hql);
		query.setString(0, "%三%");
		List<Customer>cs=query.list();
		//遍历查询结果
		for (Customer c:cs){
			System.out.println(c);
		}
		t.commit();
		session.close();
		sf.close();	
	}

5.条件查询--按参数名字查询

/**
	 * 条件查询--按参数名字查询
	 */
	@Test
	public void paramQueryTest2(){
		Configuration config=new Configuration().configure();
		SessionFactory sf=config.buildSessionFactory();
		Session session=sf.openSession();
		Transaction t=session.beginTransaction();
		
		//编写HQL
		String hql="from Customer where id=:id";
		//创建一个Query对象
		Query query=session.createQuery(hql);
		query.setParameter("id", 1);
		List<Customer>cs=query.list();
		//遍历查询结果
		for (Customer c:cs){
			System.out.println(c);
		}
		t.commit();
		session.close();
		sf.close();	
	}

6.分页查询

/**
	 * 分页查询
	 */
	@Test
	public void queryPageTest(){
		Configuration config=new Configuration().configure();
		SessionFactory sf=config.buildSessionFactory();
		Session session=sf.openSession();
		Transaction t=session.beginTransaction();
		
		//编写HQL
		String hql="from Customer";
		//创建一个Query对象
		Query query=session.createQuery(hql);
		query.setFirstResult(2);
		query.setMaxResults(5);
		List<Customer>cs=query.list();
		//遍历查询结果
		for (Customer c:cs){
			System.out.println(c);
		}
		t.commit();
		session.close();
		sf.close();	
	}

猜你喜欢

转载自blog.csdn.net/qwl755/article/details/84793270
HQL