Hibernate无语句查询Criteria(用于单表条件查询)

package Bean;


import java.util.List;


import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.junit.Test;


import common.HibernateUitels;


public class TestCriteria {


@Test
public void selectall() {
Session session=HibernateUitels.getSession();
Transaction tx = session.beginTransaction();
//查询所有的Student对象
Criteria c = session.createCriteria(Student.class);
//返回的是list
List<Student> list = c.list();

for(int i=0;i<list.size();i++) {
System.out.println(list.get(i).getName());
}
tx.commit();
session.close();
}

@Test
//条件查询
// > gt
// >= ge
// < lt
// <= le
// == eq
// != ne
// in in
// between and between
// like like
// is null isNull
// is not null isNotNull
// or or
// and an
d
public void getStudent() {
Session session=HibernateUitels.getSession();
Transaction tx = session.beginTransaction();
//创建查询对象
Criteria criteria = session.createCriteria(Student.class);
//添加查询条件,查询id为19的Student对象
criteria.add(Restrictions.eq("id",19));
//执行查询结果获得结果
Student student = (Student)criteria.uniqueResult();
System.out.println(student.getName());
tx.commit();
session.close();
}

@Test
//分页查询
public void testlike() {
Session session =HibernateUitels.opensession();
Transaction tx = session.beginTransaction();

Criteria criteria = session.createCriteria(Student.class);
criteria.setFirstResult(18);
criteria.setMaxResults(10);

List<Student> list = criteria.list();
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i).getName());
}
tx.commit();
session.close();
}

@Test
//设置查询的总记录数
public void sele() {
Session session=HibernateUitels.opensession();
Transaction tx = session.beginTransaction();
//查询所有的Student对象
Criteria criteria = session.createCriteria(Student.class);
//设置查询的聚合函数  ,总行数
criteria.setProjection(Projections.rowCount());
//执行查询,返回的是一个整数类型
int a = (int)criteria.uniqueResult();

System.out.println(a);
tx.commit();
session.close();
}
}

猜你喜欢

转载自blog.csdn.net/yan12422/article/details/78391960