zoukankan      html  css  js  c++  java
  • JavaEE笔记(四)

    sql的完整顺序
    完整的sql语句,由6个子句组成
    1. from
    2. where
    3. group by
    4. select
    5. having
    6. order by

    # having 和 where的区别
    where的顺序比having执行高
    where是过滤基本数据类型,having过滤聚合数据类型

    // HQL是面向对象的查询语句,所以查询是跟的类名
    Query query = session.createQuery("from Student");
    // 获取学生的集合
    List<Student> students = query.list();
    // 如果用了select子句,返回的是一个Object数组
    
    // 返回安全对象,带上包名,否则找不到类
    // 类需要自带相应的构造参数
    List<MyData> list = session.createQuery("select new com.my.data.MyData(stu.name,stu.class) from Student as stu");
    // uniqueQuery()查询唯一结果——效率更高
    // 一样可以查询到班级名称(懒加载——如果不调用外键关联的班级,不会发送SQL语句)
    // 关闭session,获取不到缓存,不能懒加载
    Student stu = session.createQuery("from Student as stu where id=2").uniqueQuery();
    // session.close();
    syserr.out.print(stu.name+"  "+stu.getClasses.name);
    
    // Hibernate 两种占位符
    session.createQuery("from Student as stu where id = :id").setInteger("id",2).uniqueQuery();
    session.createQuery("from Student as stu where id = ?").setInteger(0,2)uniqueQuery();
    // Student类不采用懒加载,立即加载
    Hibernate.initialize(Student.getClass());

    我不作恶

    但有权拒绝为善

    我不赞同

    但是我捍卫你不为善的权力

  • 相关阅读:
    Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
    Java文件IO操作应该抛弃File拥抱Paths和Files
    什么是内存(一):存储器层次结构
    mysql 锁
    Mysql索引面试题
    node.js中对同步,异步,阻塞与非阻塞的理解
    mysql 快照读 当前度
    mysql 联合索引
    redis 分布式锁(单机)
    docker 环境搭建redis集群相关问题
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/6091189.html
Copyright © 2011-2022 走看看