hql

作者: S_s开始 | 来源:发表于2019-06-16 21:35 被阅读0次

    Hibernate运行原理


    image.png

    Hibernate六大核心接口,两个主要配置文件
    Configuration接口:负责配置并启动Hibernate
    SessionFactory接口:负责初始化Hibernate
    Session接口:负责持久化对象的CRUD操作
    get() 根据主键查询
    save() 添加数据
    update() 根据主键更新
    saveOrUpdate() 如果数据存在,更新,不存在,添加
    delete() 删除数据
    Transaction接口:负责事务
    Query接口和Criteria接口:负责执行各种数据库查询

    group by 后出现的必须在select后出现
    select age,count(*) from User group by User;
    
    条件查询      别名eid
    Query query = session.createQuery("from Employee where eid=:eid");
    query.setParameter("eid", 2);
    
    聚合函数:count,max,sum,min等
    
    排序:order by 字段 desc;
    
    将查询到的数据直接封装到相关对象中,注意:需要提供相关的构造方法
    Query query = session.createQuery("select new User(u.name,u.age) from User u");
    
    /*多表查询  ,emps是department中的一个set类型的集合
    fetch强制的关联查询(迫切连接), 会将部门下的员工数据直接绑定到部门对象的员工集合中
    此时会得到关联的员工表的数据。此时员工标的数据放在set集合中。可遍历集合得到具体数据*/
    Query query = session.createQuery("select d from Department d inner join fetch d.emps e");
    
    Query query = session.createQuery("from User where name like ?");
    /模糊查询时,%写到传的参数里
    query.setParameter(0, "%a%");
    
    Query query = session.createQuery("from User");
    分页时,从哪个索引开始
    query.setFirstResult(1);
    /分页时,每页获取几条记录
    query.setMaxResults(3);

    相关文章

      网友评论

          本文标题:hql

          本文链接:https://www.haomeiwen.com/subject/khzpiftx.html