HQL demo

package com.gyf.hibernate.test;


import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import com.gyf.hibernate.domain.User;

/**
 * Query对象学习
 * @author gyf
 *
 */
public class Lesson09 {

    @Test
    public void test1(){
        //用户数据
        //1.获取核心 配置文件对象
        Configuration cfg = new Configuration().configure();
        
        //2.创建会话工厂
        SessionFactory factory = cfg.buildSessionFactory();
        
        //3.通过会话工厂获取session对象
        Session session =  factory.openSession();
    
        //创建查询对象
        //sql:select * from t_user where username='gyf' and password = '123';
        //hql:面向对象的查询语言
        Query query = session.createQuery("from User where username=? and password=?");
        query.setParameter(0, "gyf");
        query.setParameter(1, "123");
        
        //执行查询
        User user = (User) query.uniqueResult();
        System.out.println(user);
        
        //4.关闭会话
        session.close();
        
        //5.关闭工厂,释放资源
        factory.close();
    }
    
    @Test
    public void test2(){
        //用户数据
        //1.获取核心 配置文件对象
        Configuration cfg = new Configuration().configure();
        
        //2.创建会话工厂
        SessionFactory factory = cfg.buildSessionFactory();
        
        //3.通过会话工厂获取session对象
        Session session =  factory.openSession();
    
        //查询对象
        Query query = session.createQuery("from User");
        
        //分页查询 limit?,? 【limit 3,3】
        query.setFirstResult(3);//启始位置
        query.setMaxResults(3);//返回的数据条数
        
        //返回多行数据
        List<User> list = query.list();
        for(User obj : list){
            System.out.println(obj);
        }
        
        //query.list() 返回多行数据
        //query.uniqueResult 返回一行数据
        
        
        //4.关闭会话
        session.close();
        
        //5.关闭工厂,释放资源
        factory.close();
    }
}

 

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