• hibernate查询方式(四)


    ---恢复内容开始---

    1.mysql中的多表联合查询

      ****/*内连接查询*/  只显示两个表有关联的记录

    //第一种
    SELECT * FROM Class  c ,Student s WHERE  c.id=s.id;
    
    //第二种
    SELECT * FROM Class  c INNER JOIN Student s ON  c.id=s.id;
    

     ****/*左外链接*/   显示左边那个表的所有记录和右边表的关联记录

    SELECT * FROM Class  c LEFT INNER JOIN Student s ON  c.id=s.id;

    ****/*右外链接*/   显示右边那个表的所有记录和左边表的关联记录

    SELECT * FROM Class  c RIGHT INNER JOIN Student s ON  c.id=s.id;

     

    hql多表联合查询

       ****hql内连接语句

    //1.hql查询操作会使用Query对象
    //  (1)写sql语句 创建Query对象,
        String hql = "from Student c inner join c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
       Query query = session.createQuery("hql");
    
    //(2)调用方法得到结果 返回的是数组
    List list = query.list();

       ****hql迫切内连接

    //1.hql查询操作会使用Query对象
    //  (1)写sql语句 创建Query对象,
        String hql = "from Student c inner join fetch c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
       Query query = session.createQuery("hql");
    
    //(2)调用方法得到结果 返回的是对象
    List list = query.list();

        ****hql左外连接

    //1.hql查询操作会使用Query对象
    //  (1)写sql语句 创建Query对象,
        String hql = "from Student c left outer join c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
       Query query = session.createQuery("hql");
    
    //(2)调用方法得到结果 返回的是数组
    List list = query.list();

       ****hql迫切左外连接

    //1.hql查询操作会使用Query对象
    //  (1)写sql语句 创建Query对象,
        String hql = "from Student c left outer join fetch c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
       Query query = session.createQuery("hql");
    
    //(2)调用方法得到结果 返回的是对象
    List list = query.list();

    右外连接合左外链接一样 但是没有迫切右外连接

  • 相关阅读:
    2019课设---基于微信小程序的食堂订餐送餐系统设计 【构思】(12)
    宝塔安装
    win10添加新建文本文档的快捷方式
    Vue底部菜单模块
    CSS渐变
    记录页面位置及进入页面时跳转位置
    PHP获取微信JS-SDK接口设置(access_token、jsapi_ticket、signature)
    添加Notepad++至右键菜单
    win10卸载XShell6报错1603
    win10我的电脑左侧快捷方式的控制
  • 原文地址:https://www.cnblogs.com/alex96/p/8215304.html
Copyright © 2020-2023  润新知