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


    }

    }

    如果没有一直坚持,也不会有质的飞跃,当生命有了限度,每个人的价值就会浮现。
  • 相关阅读:
    APP性能测试-客户端性能测试
    postman——预处理和断言
    postman——token传参
    postman——环境变量
    postman——请求与相应
    postman——下载与安装
    HP LoadRunner 11.00安装+破解+汉化
    Fiddler使用 抓取手机数据包及中文乱码解决方案
    性能测试常见面试题(Loadrunner)
    python3 selenium3 POM设计模式 【比较全的使用邮件自动发送测试报告】
  • 原文地址:https://www.cnblogs.com/shiguangshuo/p/4104727.html
Copyright © 2020-2023  润新知