QBC(query by criteria) demo

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();
    }
    
}

 

posted @ 2019-04-13 15:28  expworld  阅读(196)  评论(0)    收藏  举报