您的位置:首页 > 其它

hibernate入门(三)Criteria条件查询

2017-08-01 23:27 417 查看
package com.hibernate.test;

import java.util.List;

import org.hibernate.Criteria;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.criterion.Order;

import org.hibernate.service.ServiceRegistry;

import org.hibernate.service.ServiceRegistryBuilder;

import org.junit.Test;

import com.hibernate.entity.Employee;

//Criteria:条件查询时使用它比较方方便,对查询结果进行过滤

public class CriteriaTest {

@Test

public void testCriteria() {

SessionFactory sessionFactory = null;

Configuration configuration = new Configuration().configure("hibernate.cfg.xml");

ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();

sessionFactory = configuration.buildSessionFactory(serviceRegistry);

Session session = sessionFactory.openSession();

Transaction transaction = session.beginTransaction();

try {

//获取query引用(Query是操作类不是数据表,Employee:是指java类,不是数据表,name是属性名,也可以是数据表的字段名称)

Criteria criteria=session.createCriteria(Employee.class).setMaxResults(2).addOrder(Order.asc("id"));

List<Employee> list=criteria.list();

for(Employee employee:list){

System.out.println(employee);

}

transaction.commit();

} catch (Exception e) {

if(transaction!=null){

transaction.rollback();//回滚

}

throw new RuntimeException(e.getMessage());

}finally{

if(session!=null){

session.close();

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: