package com.gyf.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.Restrictions;
import org.junit.Test;
import com.gyf.hibernate.domain.User;
/**
* Criteria 对象学习
* QBC(query by criteria),hibernate提供纯面向对象查询语言,
* 提供直接使用PO对象进行操作
*/
public class Lesson10 {
@Test
public void test1(){
//用户数据
//1.获取核心 配置文件对象
Configuration cfg = new Configuration().configure();
//2.创建会话工厂
SessionFactory factory = cfg.buildSessionFactory();
//3.通过会话工厂获取session对象
Session session = factory.openSession();
//创建Criteria查询对象
Criteria criteria = session.createCriteria(User.class);
//加条件gyf,123
//eq =
// criteria.add(Restrictions.eq("username", "gyf"));
// criteria.add(Restrictions.eq("password", "123"));
// System.out.println(criteria.uniqueResult());
// 【gt 大于>】【 ge大于等于>=】
//criteria.add(Restrictions.ge("uid", 10));
// 【lt 小于>】【 le小于等于>=】
// 【模糊查询】
//criteria.add(Restrictions.like("username", "%y%"));
System.out.println(criteria.list());
//4.关闭会话
session.close();
//5.关闭工厂,释放资源
factory.close();
}
}