zoukankan      html  css  js  c++  java
  • HQL查询基础

    package qau.edu.search;

    import qau.edu.search.Employee;
    import java.util.List;

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

    public class SearchTest {


    private Session session ;
    private Transaction tr ;


    @Before
    public void init(){

    // 打开Session ;

    session = new Configuration().configure().buildSessionFactory().openSession();

    // 开启事务;

    tr = session.beginTransaction();


    }


    @After
    public void destroy(){

    // 提交事务;

    tr.commit();

    // 关闭会话;

    session.close();
    }

    // “位置绑定”查询;

    @Test
    public void testHQL() {

    // 创建Query对象;

    String hql = "from Employee e where e.name like ? and e.sal > ? ";

    Query query = session.createQuery(hql);

    // 绑定参数;

    // 这里的数字0和1表示的含义要知道,表示的是占位符,从这里能体会到“位置绑定”的含义;

    query.setString(0, "%%")
    .setFloat(1, 5000);

    // 打印输出;

    List<Employee> emps = query.list();

    System.out.println(emps.size());


    }

    // “命名参数”的查询;

    @Test
    public void testHQL2() {

    // 创建Query对象;

    // 注意的是:在进行编写查询条件的时候,:是紧紧跟着后面的命名的,不允许出现空格。

    String hql = "from Employee e where e.name like :name and e.sal > :sal ";

    Query query = session.createQuery(hql);

    // 绑定参数;

    query.setString("name", "%%")
    .setFloat("sal", 5000);


    // 打印输出;

    List<Employee> emps = query.list();

    System.out.println(emps.size());


    }


    // 实体绑定;
    @Test
    public void testHQL3() {

    // 创建Query对象;

    // 注意的是:在进行编写查询条件的时候,:是紧紧跟着后面的命名的,不允许出现空格。

    String hql = "from Employee e where e.name like :name and e.sal > :sal and dept = :dept";

    Query query = session.createQuery(hql);

    // 绑定参数;

    Department dept = (Department)session.get(Department.class, 80);

    query.setString("name", "%%")
    .setFloat("sal", 5000)
    .setEntity("dept", dept);


    // 打印输出;

    List<Employee> emps = query.list();

    System.out.println(emps.size());


    }

    }

    如果没有一直坚持,也不会有质的飞跃,当生命有了限度,每个人的价值就会浮现。
  • 相关阅读:
    LINUX操作系统VIM的安装和配置
    Ubuntu 14.04 LTS中怎样安装fcitx中文输入法
    Ubuntu 速配指南:开启3D桌面特效
    在U盘上安装Windows 7的详细步骤
    设置ip地址、掩码、网关、DNS
    U盘安装电脑系统教程
    取消word中所有超链接
    dos命令批处理发送文字到剪贴板
    Word2007:如何在竖版(纵向)页面中间插入横版(横向)页面
    ubuntu12.04 alternate win7 双系统安装
  • 原文地址:https://www.cnblogs.com/shiguangshuo/p/4104727.html
Copyright © 2011-2022 走看看