Hibernate中的查询

以下查询语句都是用实体类为User为例:

1.查询表中所有:

Query query = session.createQuery("from User");

2.查询指定的列:

可以为表指定别名:Query query = session.createQuery("select u.name,u.age from User u");

可以直接通过实体类中的属性:

            Query query = session.createQuery("select u.name,u.age from User u");

3.将查询到的数据直接放在对象中:

    Query query = session.createQuery("select new User(u.name,u.age) from User u");

4.条件查询:

    如果条件是从其他地方传递过来的:

                        方式一:Query query = session.createQuery("from User where id=?");

为参数赋值有两种方式:

        (1):如果知道参数的类型,可以直接通过例如 query.setInteger(索引, 要赋旳值);索引的方式赋值,索引从0开始,即第一个占位符的索引为0;

        (2):query.setParameter(0, 1);第一个参数也是索引,第二个参数表示要赋的值

                       方式二:Query query = session.createQuery("from User where id=:uid");

为参数起别名:赋值方式:query.setParameter("uid", 4);

5.between and 条件查询:

Query query = session.createQuery("from User where age between :age1 and :age2");

6.模糊查询:

Query query = session.createQuery("from User where name like ?");

Query query = session.createQuery("from User where name like :name1");

7.聚合函数:

count avg max min sum

统计表中的记录数:

Query query = session.createQuery("select count(*) from User");

按照年龄分组:

Query query = session.createQuery("select age,count(*) from User group by age");

按照年龄分组并且查询年龄个数大于1的:(having用于筛选分组后符合条件的数据)

select age,count(*) from User group by age having count(*)>1;

8.分组查询:

Query query = session.createQuery("from User order by age");(默认情况下按照升序方式)

Query query = session.createQuery("from User order by age desc");(指定了排序方式)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 10,040评论 0赞 13
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 8,124评论 5赞 115
  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 2,941评论 0赞 4
  • 1、记录一段真实生活中的人物的语言,或两三个人物的对话(可以先录音后逐字打出来)。 “哦,龙龙哎,昨天那个电信局的...
    天梯Roland阅读 273评论 3赞 1
  • 2018年5月8日 星期二 晴 昨天晚上叫延宝去刷牙洗脸洗澡,他又开始哼哼唧唧地说不想洗。每天的洗漱时间都是这样,...
    易道大明阅读 240评论 0赞 0

友情链接更多精彩内容