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


    }

    }

    如果没有一直坚持,也不会有质的飞跃,当生命有了限度,每个人的价值就会浮现。
  • 相关阅读:
    flex 遍历Object或者JSON对象内容的实现代码
    Flex Vector使用(转)
    Flex——Array,ArrayCollection,Vector性能比较(转)
    SQLSERVER远程备份、恢复(转)
    隐藏Jquery dialog 按钮
    GSM 短信相关AT指令(转)
    SQL Server 父子迭代查询语句,树状查询(转)
    js framework comparation
    eventEmitter
    调试 shell script 方法
  • 原文地址:https://www.cnblogs.com/shiguangshuo/p/4104727.html
Copyright © 2011-2022 走看看