90b00e1bbbc8001d156887816c6b4944

来自「实现一些hibernate底层的东西」· 代码 · 共 65 行

TXT
65
字号
package com.bjsxt.hibernate;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Session;

import junit.framework.TestCase;

public class StatQuerytest extends TestCase {

	public void testQuery()
	{
		Session session = null;
		try{
			session = HibernateUtils.getSession();
			session.beginTransaction();
			
			Long student = ( Long )session.createQuery( "select count(*) from Student" ).uniqueResult();
			/*Iterator ite = students.iterator();
			while( ite.hasNext() ){
				Long student = ( Long )ite.next();
				System.out.println( student );
			}*/
			System.out.println( student );
			
			session.getTransaction().commit();
			
		}catch( Exception e ){
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally{
			HibernateUtils.closeSession(session);
		}
	}

	public void testQuery1()
	{
		Session session = null;
		try{
			session = HibernateUtils.getSession();
			session.beginTransaction();
			
			List students = session.createQuery( "select c.name, count(s) from Student s inner join s.classes c "
												+ "group br c.name order by c.id").list();
			/*Iterator ite = students.iterator();
			while( ite.hasNext() ){
				Long student = ( Long )ite.next();
				System.out.println( student );
			}*/
			for( Iterator ite = students.iterator() ; ite.hasNext() ; ){
				Object[] obj = ( Object[] )ite.next();
				System.out.println( obj[ 0 ] + " ," + obj[ 1 ] );
			} 
			session.getTransaction().commit();
			
		}catch( Exception e ){
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally{
			HibernateUtils.closeSession(session);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?