Hibernate学习之查询

英飞凌TC3xx DSADC旋变软解码实战:从示波器波形到VX1000数据,手把手教你避坑 本文详细介绍了英飞凌TC3xx系列微控制器的DSADC模块在电机旋变软解码中的实战应用。从示波器波形分析到VX1000数据采集,提供了一套完整的调试方法论,帮助工程师快速定位和解决常见问题,提升解码精度和系统性能。 阅读详情
##Hibernate框架学习之查询 ##




----------
例一:使用hibernate完成所有的员工的查询
----
**需求分析**


    1.完成所有员工的查询
    2.准备数据
        public class Emp {
            private Integer e_id;
            private String e_name;
            private String e_address;
            private String e_phone;
            private Dept dept;
            public Emp(){
                
            }
            public Emp(String e_name,String e_address){
                this.e_name=e_name;
                this.e_address=e_address;
            }
            @Override
            public String toString() {
                return "Emp [e_id=" + e_id + ", e_name=" + e_name + ", e_address=" + e_address + ", e_phone=" + e_phone
                        + "]";
            }
            :
            :
        }


        public class Dept {
            private Integer d_id;
            private String d_name;
            private Set<Emp> emps=new HashSet<Emp>();
            @Override
            public String toString() {
                return "Dept [d_id=" + d_id + ", d_name=" + d_name + ", emps=" + emps + "]";
            }
            :
            :
        }


        使用hibernate插入数据
        @Test
        public void test1(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            //插入数据测试
            Dept dept1 = new Dept();
            Dept dept2 = new Dept();
            Dept dept3 = new Dept();
            Dept dept4 = new Dept();
            dept1.setD_name("研发部");
            dept2.setD_name("测试部");
            dept3.setD_name("运维部");
            dept4.setD_name("销售部");
            
            Emp emp1 = new Emp();
            Emp emp2 = new Emp();
            Emp emp3 = new Emp();
            Emp emp4 = new Emp();
            Emp emp6 = new Emp();
            emp1.setE_address("湖南");
            emp1.setE_name("小王");
            emp1.setDept(dept1);
            
            emp4.setE_address("广东");
            emp4.setE_name("小张");
            emp4.setDept(dept1);
            
            emp2.setE_address("湖北");
            emp2.setE_name("小李");
            emp2.setDept(dept2);
            
            emp3.setE_address("广东");
            emp3.setE_name("小邓");
            emp3.setDept(dept3);
            
            emp6.setE_address("广东");
            emp6.setE_name("小胡");
            
            
            session.save(emp1);
            session.save(emp2);
            session.save(emp3);
            session.save(emp4);
            session.save(emp6);
            session.save(dept4);
            tr.commit();
            session.close();
    }


-----


**hibernate插件的查询方式有下面几种**


    1.唯一标识OID的检索方式
        //session.get(对象.class,OID);
        Session session = HibernateUtils.getSession();
        Transaction tr= session.beginTransaction();
        Emp emp = session.get(Emp.class, 1);
        System.out.println(emp.getDept().getD_name());
        
        tr.commit();
        session.close();
        查询结果:研发部


    2.对象导航的检索方式
        /**
         * 对象导航的方式
         */
        @Test
        public void test3(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            Dept dept = session.get(Dept.class, 1);
            System.out.println(dept.getEmps().size());
            tr.commit();
            session.close();
        }
        输出结果:2
        值得注意的是,在这里我们借助了OID的方式获得了部门对象,并没有得到员工对象,但是我们依然打印出了该部门下员工的人数


    3.HQL的检索方式
        HQL全称为:Hibernate Query Language 是hibernate框架自己的查询体系
    
    4.QBC的检索方式
        QBC全称为:Query By Criteria  //通过criteria接口的条件查询


    5.原始SQL检索
        hibernate支持原始SQL语句的查询,但是这与Hibernate的ORM思想不一致!


-------


**下面详细介绍下HQL检索与QBC检索**


-----
**HQL查询**
    
    1.HQL查询概述:
        HQL查询是一种面向对象的查询方式,符合ORM思想,底层采用映射的方式将HQL语句转为相应的SQL语句.
    2.与SQL语句的区别与联系
        底层依然是SQL语句,SQL操作的对象是字段和表,而HQL基于ORM思想操作的属性和对象
    3.查询语句演示
    
    3.1 基本查询格式
        @Test
        public void test4(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            List<Emp> list = session.createQuery("from Emp").list();
            for (Emp emp : list) {
                System.out.print(emp.getE_name()+",");
            }
            tr.commit();
            session.close();
        }
        查询结果:小王,小李,小邓,小张,小胡,
        注意,这里使用的是类名
    3.2 HQL查询支持别名的方式
        List<Emp> list = session.createQuery("select e from Emp e").list();
    3.3 HQL排序查询
        List<Emp> list = session.createQuery("from Emp order by e_id desc").list();
        List<Emp> list = session.createQuery("from Emp order by e_id asc").list();
    3.4 HQL分页查询
            Query query = session.createQuery("from Emp");
            //得到Qeury对象,设置开始页
            query.setFirstResult(0);
            //设置每一页显示条数
            query.setMaxResults(3);
            List<Emp> list = query.list();
            for (Emp emp : list) {
                System.out.println(emp);
            }
            结果:
            Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]
            Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]
            Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
    3.5 HQL按条件查询
            Query query = session.createQuery("from Emp where e_name like ?");
            query.setParameter(0, "%王%");
            List<Emp> list = query.list();
            for (Emp emp : list) {
                System.out.println(emp);
            }
            结果是:Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]
            注意,此时占位符是从0开始的
    3.6 HQL投影查询(其实就是选择几个想要的字段,无关字段不显示信息)
                与   SELECT e_name,e_address FROM e_emp;的效果是一致的
            @Test
            public void test9(){
                Session session = HibernateUtils.getSession();
                Transaction tr= session.beginTransaction();
                Query query = session.createQuery("select e.e_name,e.e_address from Emp e");
                List<Emp> list = query.list();
                for (Emp emp : list) {
                    System.out.println(emp);
                }
                tr.commit();
                session.close();
            }
            这样写会报错,因为返回的是一个Object类型的数组:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to top.lingzhen.domain.Emp
            HIbernate给我们提供另外的方式即使是单个字段仍然可以封装为对象,但是需要提供必要的构造方法,并且无参构造方法仍需保留
            @Test
            public void test10(){
                Session session = HibernateUtils.getSession();
                Transaction tr= session.beginTransaction();
                Query query = session.createQuery("select new Emp(e.e_name,e.e_address) from Emp e");
                 List<Emp> list = query.list();
                for (Emp emp : list) {
                    System.out.println(emp.getE_name()+emp.getE_address());
                }
                tr.commit();
                session.close();
            }
            此时Emp实体类变化为
                public class Emp {
                    private Integer e_id;
                    private String e_name;
                    private String e_address;
                    private String e_phone;
                    private Dept dept;
                    public Emp(){
                        
                    }
                    public Emp(String e_name,String e_address){
                        this.e_name=e_name;
                        this.e_address=e_address;
                    }
                    :
                    :
                }
        3.7 HQL查询之聚合函数查询
            Query query = session.createQuery("select count(*) from Emp");
            List<Number> list = query.list();
            System.out.println(list.get(0).intValue());
            注意:此时返回的泛型类型,其他聚合函数查询与上面类似


---


**QBC**查询


    1.Queyr By Criteria查询是一种完全面向对象的查询
    2.QBC的简单格式
        List<Emp> list = session.createCriteria(Emp.class).list();
        for (Emp emp : list) {
            System.out.println(emp);
        }
        输出结果是
        Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]
        Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]
        Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
        Emp [e_id=4, e_name=小张, e_address=广东, e_phone=null]
        Emp [e_id=5, e_name=小胡, e_address=广东, e_phone=null]
    3.QBC的排序查询
        @Test
        public void test2(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
             Criteria criteria = session.createCriteria(Emp.class);
             List<Emp> list = criteria.addOrder(Order.desc("e_id")).list();
            for (Emp emp : list) {
                System.out.println(emp);
            }
        }
        Emp [e_id=5, e_name=小胡, e_address=广东, e_phone=null]
        Emp [e_id=4, e_name=小张, e_address=广东, e_phone=null]
        Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
        Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]
        Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]
        QBC查询都是通过调用方法实现查询的,查询条件就是对应的类属性
    4.QBC的分页查询
        @Test
        public void test3(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            Criteria criteria = session.createCriteria(Emp.class);
            criteria.setFirstResult(0);
            criteria.setMaxResults(3);
            List<Emp> list = criteria.list();
            for (Emp emp : list) {
                System.out.println(emp);
            }
        }
        输出结果:
            Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]
            Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]
            Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
    5.QBC的条件查询
        @Test
        public void test4(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            Criteria criteria = session.createCriteria(Emp.class);
            criteria.addOrder(Order.desc("e_id"));
            criteria.add(Restrictions.ge("e_id", 2));
            List<Emp> list = criteria.list();
            for (Emp emp : list) {
                System.out.println(emp);
            }
        }
        输出结果:
        Emp [e_id=5, e_name=小胡, e_address=广东, e_phone=null]
        Emp [e_id=4, e_name=小张, e_address=广东, e_phone=null]
        Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
        Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]
        如果想查询多个条件,可以使用Restrictions.or(Restrictions.XX(),Restrictions.XX()...)或者Restrictions.add(...)
         Restrictions.eq           //相等
         Restrictions.gt           // 大于号
         Restrictions.ge           // 大于等于
         Restrictions.lt           // 小于
         Restrictions.le           // 小于等于
         Restrictions.between      // 在之间
         Restrictions.like         // 模糊查询
         Restrictions.in           // 范围
         Restrictions.and          // 并且
         Restrictions.or           // 或者
    6.QBC的聚合函数查询
        需要借助Projection来进行查询
        @Test
        public void test5(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            Criteria criteria = session.createCriteria(Emp.class);
            List<Number> list = criteria.setProjection(Projections.rowCount()).list();
            
            System.out.println(list.get(0).intValue());
            /*criteria.setProjection(null);//如果要执行注释部分的代码,需要执行这句,破坏其格式
            List<Emp> list2 = criteria.addOrder(Order.desc("e_id")).list();
            for (Emp emp : list2) {
                System.out.println(emp);
            }*/
        }
                
----
**离线条件查询**


    1.离线条件查询的意义:可以在WEB层不借助session获得查询对象,进行查询条件的拼接,最后执行把离线查询对象传到持久层就可以了,简化开发,不过在执行的适合还是需要session对象。
    @Test
    public void test6(){
        Session session = HibernateUtils.getSession();
        Transaction tr= session.beginTransaction();
        DetachedCriteria forClass = DetachedCriteria.forClass(Emp.class);
        DetachedCriteria add = forClass.add(Restrictions.ge("e_id",3));
        //执行时仍需要session
        List<Emp> list = add.getExecutableCriteria(session).list();
        for (Emp emp : list) {
            System.out.println(emp);
        }
    }
    执行结果:
        Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
        Emp [e_id=4, e_name=小张, e_address=广东, e_phone=null]
        Emp [e_id=5, e_name=小胡, e_address=广东, e_phone=null]


-----
**HQL的多表查询**
    
    1.普通内连接
    @Test
    public void test6(){
        Session session = HibernateUtils.getSession();
        Transaction tr= session.beginTransaction();
        //注意返回结果
        List<Object[]> list=session.createQuery("from Emp e inner join e.dept").list();
        for (Object[] objects : list) {
            System.out.println(Arrays.toString(objects));
        }
    }
    2.使用fetch关键字的迫切内连接,能将查询结果封装为对象
        @Test
        public void test7(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            List<Emp> list=session.createQuery("from Emp e inner join fetch e.dept").list();
            for (Emp emp : list) {
                System.out.println(emp+"=="+emp.getDept().getD_name());
            }
        }
        查询结果:
            Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]==研发部
            Emp [e_id=4, e_name=小张, e_address=广东, e_phone=null]==研发部
            Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]==测试部
            Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]==运维部
    3.左外连接,右外连接查询与上面相似
        left join fetch   //迫切左外连接
        right join fetch  //迫切右外连接
        @Test
        public void test8(){
            Session session = HibernateUtils.getSession();
            Transaction tr= session.beginTransaction();
            List<Emp> list=session.createQuery("from Emp e left join fetch e.dept").list();
            for (Emp emp : list) {
                System.out.println(emp);
            }
        }
        查询结果:
            Emp [e_id=1, e_name=小王, e_address=湖南, e_phone=null]
            Emp [e_id=2, e_name=小李, e_address=湖北, e_phone=null]
            Emp [e_id=3, e_name=小邓, e_address=广东, e_phone=null]
            Emp [e_id=4, e_name=小张, e_address=广东, e_phone=null]
            Emp [e_id=5, e_name=小胡, e_address=广东, e_phone=null]
            注意,不同的左右表查询最后的结果是不一致的,封装不上就为null


---




            
        
别再为SCI论文配图发愁了!手把手教你用PS+AI搞定从数据图到模式图的全流程 本文详细解析了如何利用Photoshop(PS)和Illustrator(AI)高效完成SCI论文配图的全流程,涵盖数据可视化、模式图设计及期刊适配性输出。通过实战案例,帮助科研人员掌握位图与矢量图的处理技巧,提升论文配图质量,满足不同期刊的出版要求。 阅读详情

相关推荐

白话详细解读(七)----- CBAM:Convolutional Block Attention Module

一、CBAM简介 论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CB CBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个

奋斗の博客 1万+

jstl循环写法

1.jstl写循环 使用jstl需要先导入jstl的jar包,并引入地址 //引入地址 <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %> //定义循环 <c:forEach begin=“1” end=“5” var=“index” > </c:forEach> 2.遍历集合 <c:forEach items="empList"var="emp">姓名:{empList}" var

sunburstm的博客 1208

用V E S C 6-M K V I 第六代调速控制器给VESC电调刷固件

文章摘要:本文介绍了一款先进的电机控制器,具备多项创新技术。核心亮点包括三相电流/电压检测、四象限无缝运行、多模式兼容等先进电机控制技术,以及智能感知与安全保护、高效能电源管理、多样化连接与扩展功能。此外,该控制器支持实时数据监测与用户交互,具备开源生态和工业级可靠性,适用于电动载具、机器人及工业领域。用户需注意散热要求和兼容性提示,可通过VESC-Tool软件进行灵活配置。产品可在常竹科技淘宝店购买,并加入技术交流群获取支持。

2403_89422757的博客 1364

Hibernate学习之多表查询

初学Hibernate,对它的理解就是对数据的持久化操作,也看不一些源码,总之感觉

纸上得来终觉浅,绝知此事要躬行 1370

全国30米分辨率逐年植被覆盖度(FVC)数据集

植被覆盖度是描述地表植被的重要参数与生态环境的基本指标,在大气圈、土壤圈、水圈和生物圈中都占据着重要的地位,区域及全球范围的植被覆盖度估算对植被及相关领域的研究具有重要意义。分别对LANDSAT 5/7/8系列数据计算FVC,其中Landsat5 和Landsat 7NDVI计算利用 B4和B3波段,Landsat8 和Landsat9 NDVI计算利用 B5和B4波段。算法从当年所有观测数据中,以低云、低探测角度和最高NDVI值为标准,选择最佳的可用像元值,并进行换算。(3) FVC的计算。

地球资源数据云的官方博客 1808

电赛综合测评题练习(一)-(与2013年电赛综合测评要求类似)

电赛综合测评题练习 文章目录电赛综合测评题练习前言1. 波形发生器1.1 题目说明1.1.1 可用器件1.1.2 设计要求1.1.3 设计方案论证1.2 仿真电路设计1.2.1 脉冲波发生器电路1.2.1.1 方案介绍1.2.1.2 理论分析与计算1.2.1.3 电路系统设计1.2.1.4 仿真方案与仿真测试结果1.2.2 锯齿波电路1.2.2.1 理论分析与计算1.2.2.2 电路系统设计1.2.2.3 仿真方案与仿真测试结果1.2.3 正弦波I电路1.2.3.1 理论分析与计算1.2.3.2 电路系

daydayup!的博客 3万+

hibernate学习之QBC查询

借助hibernate提供的接口的一种查询方式 比hql更面向对象的查询方式 普通查询 public void testQBCQuery1(){ Criteria sriteria=session.createCriteria(Student.class); List<Student> studentList=criteria.list();...

海恩的博客 135

Joule 终于会说 ABAP 了:从 ADT 提效到 ABAP AI SDK + ISLM 自建企业级 AI 场景的落地路线

生成结构化摘要(故障现象、初步原因、处理动作、备件消耗)自动给出建议分类(电气、机械、软件、网络)把摘要回写到工单抬头,方便后续统计与知识沉淀如果你用 CAP 来做这类服务,通常会在 Node.js 层封装一个对 AI Hub 的调用,再通过 OData 或 Event 把结果写回 SAP。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 342

Hibernate学习之HQL查询

原文地址:https://github.com/mageSFC/myblog/blob/master/Hibernate%E5%AD%A6%E4%B9%A0%E4%B9%8BHQL%E6%9F%A5%E8%AF%A2.md Hibernate学习之HQL查询 马哥私房菜博客地址:https://github.com/mageSFC/myblog HQL(hibernate query la

马哥私房菜 7151

优秀的 Verilog/FPGA开源项目介绍(二十七)- 小型CPU

介绍在FPGA上实现一个CPU是一个令人兴奋的事情,但是太复杂的CPU实现起来太难,而且不适合去了解计算机的架构,所以今天介绍一些小型的CPU,比如8051、MIPS、MSP430等~关于RISC-V的项目,请查看《优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V》ZipCPUhttp://zipcpu.com/about/zipcpu.html项目介绍Z...

OpenFPGA的博客 2574

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

宁波阿成的博客 901

SSH学习-Hibernate关联查询

与MyBatis类似,Hibernate也有关联查询,数据库中表与表之间的关联关系使用主外键的形式体现,实体对象之间的关联关系体现在对象与对象的引用。在Mybatis中,当涉及到复杂查询并且表之间存在关联关系时,查询的返回类型如果是resultType不能满足要求,需要使用ResultMap并在其中进行配置,当查询的结果为一个实体类时,使用association标签,当查询的结果是一个集合时,使用...

weixin_30872671的博客 168

电磁阀颤振工作原理

颤振 颤振,弹性结构在均匀气(或液)流中受到空气(或液体)动力、弹性力和惯性力(见达朗伯原理)的耦合作用而发生的大幅度振动,它是气动弹性力学中最重要的问题之一。 随着机电液一体化技术的发展,电液比例控制技术的应用越来越广泛。电液比例控制系统范围较广,在液压传动与控制过程中,系统能够接受模拟信号或数字信号,使输出的流量或压力连续成比例地变化,都属于此类。该控制系统的优点是充分利用了液压控制与电气控制的长处,即功率传递靠液压,信号处理靠电气的优化措施。 电液比例控制原理与要求 液压控制系统中两个最重要的被控参数

小幽余生不加糖 1万+

SSH之Hibernate学习 查询

SSH数据库操作之查询 该种方式可以直接使用参数进行获取,可实现模糊查询 public static List<Books> getListByName(String name){ Session session=getSession(); //编写HQL语句 String sql="from Books as book where book.name like'%"+na...

pengxiang1998的博客 216

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Hibernate学习:Hibernate数据查询

Hibernate Query Language(HQL) Criteria Query Native SQL 下面对其分别进行解释 Hibernate Query Language: HQL提供了是十分强大的功能,它是针对持久化对象,用取得对象,而不进行update,delete和insert等操作。而且HQL是面向对象的,具备继承,多态和关联等特性。 from子句: from子句

samjustin的博客 1241

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

hibernate 中HQL语句查询学习

<br /><br />本章介绍了Hibernate的几种主要检索方式:HQL检索方式、QBC检索方式、SQL检索方式。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个查询接口。Hibernate是一个轻量级的框架,它允许使用原始SQL语句查询数据库。<br />6.1 HQL基础<br />HQL是Hiberante官方推荐的Hibernate检索方式,它使用类似SQL的查询语言,

stz344184987的专栏 904

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

hibernate官方文档手册学习--第 16 章 HQL: Hibernate 查询语言

个人感觉,HQL语言就是假的sql。它通过映射把hql中的对象可以喝数据库表的字段对应,在hql里出现的是 对象,而不是表字段。我觉得这是hibernate失败的地方,本来hibernate就是想通过映射和持久化使程序员不用再 考虑sql怎么写,直接面向对象编程就可以了。那这hql语言像sql又不是sql,它又有自己的一套规则,虽然和真正的 sql比出不多,但你也得去了解才能在实际中使用,不

2179

java hibernate 查询_JavaWeb学习:Hibernate查询方式

Hibernate查询方式:一、OID查询Hibernate根据对象的OID(主键)进行检索①、get方法:Customer customer=session.get(Customer.class,1l);②、load方法:Customer customer=session.load(Customer.class,1l);二、对象导航检索Hibernate根据一个已经查询到的对象,获得其关联的对象...

weixin_35924765的博客 210

Hibernate学习笔记4:hibernate的查询方式

这是黑马视频的学习笔记hibernate的5种查询方式对象导航查询根据id查询某个客户,再查询这个客户里面所有的联系人//根据cid=1查询客户,再查询这个客户里面所有的联系人 Customer customer=session.get(Customer.class, 1); // 再查询此客户里面所有的联系人 //得到联系人的set集合 Set&lt;LinkMan&gt; linkMans= ...

shanshuisheng的博客 262

java10 hibernate_Hibernate学习10——Hibernate 查询方式

packagecom.cy.service;importjava.util.List;importorg.hibernate.Query;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;im...

weixin_42497593的博客 157

hibernate的入门学习三 · 查询方式

HQL(HibernateQueryLanguage) HQL是hibernate专门用于查询数据的语句,有别于SQL,HQL 更接近于面向对象的思维方式。 使用步骤: 首先根据hql创建一个Query对象 设置参数(和基1的PreparedStatement不一样,Query是基0的) 通过Query对象的list()方法即返回查询的结果了。 代码演示: 使用HQL,根据name进行模糊查询 public static void main(String[] args) {...

yucan1234的博客 140

Hibernate学习之路(6) Hibernate5种查询方式

Hibernate一共有5种查询方式 * OID查询: 根据id查询一个实体 方法: get和load *SQL查询: 使用sql语句查询数据库 方法: 第一种:SQLQuery 第二种:session的doWork方法,...

QEcode的博客 664

Hibernate框架学习_三种查询

分类: Hibernate共分为三种查询:HQL,Criteria,原生SQL HQL查询:(适合不复杂的多表查询) Hibernate自创操作数据库的查询语言,属于面向对象的查询语言. HQL不会出现任何数据库相关的信息 1.基本查询: @Test public void testHqlBase(){ Session session = HibernateUtils.open...

qq_38827988的博客 184

Hibernate学习10——Hibernate 查询方式

本章主要是以查询Student的例子: Student.java: package com.cy.model; public class Student { private int id; private String name; private int age; public int getId() { ...

weixin_34133829的博客 90
下一篇: 从零开始搭建SpringBoot的Demo
努力~2019
博客等级 码龄10年 3粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值