常用的一些HQL查询语句详解(1)
来源:互联网 发布:php 上传图片到七牛 编辑:程序博客网 时间:2024/06/08 17:44
最近学了HQL查询语句,发现查询内容比较琐碎,现在整理一些比较常用的HQL语句分享给大家,查询的表有一下三种:Category、Topic、Msg;其中 Category与Topic是一对多的关系,Topic与Msg是一对多的关系。解释完毕,现在开始介绍常用的HQL语句:
1.简单的查询Category表里的全部内容:
Query q = session.createQuery("from Category");
List<Category> categories = (List<Category>)q.list();
2.根据条件(id>5)查询Category表里的所有内容:
Query q = session.createQuery("from Category c where c.id >= 5");
List<Category> categories = (List<Category>)q.list();
3.按照Category对象里面的name属性进行‘降序’排序,并出去重复(降序关键词:desc),查出表里的所有内容
Query q = session.createQuery("from Category c order by c.name desc");
List<Category> categories = (List<Category>)q.list();
4. 用distinct去掉重复的行、order by 语句用于根据指定的列对结果集进行排序、查处符合条件的所有内容
Query q = session.createQuery("select distinct c from Category c order by c.name desc");
List<Category> categories = (List<Category>)q.list();
5.取出id大于min并小于max的所有内容,用setParameter设置HQL语句里的值
Query q = session.createQuery("from Category c where c.id > :min and c.id < :max");
q.setParameter("min", 2);
q.setParameter("max", 8);
List<Category> categories = (List<Category>)q.list();
6.同上,setParameter的另外一种用法,设置HQL语句里的值。
Query q = session.createQuery("from Category c where c.id > ? and c.id < ?");
q.setParameter(0, 2)
q.setParameter(1, 8);
List<Category> categories = (List<Category>)q.list();
7.查询所有内容用order by 按照name进行排序、desc进行倒序;
Query q = session.createQuery("from Category c order by c.name desc");
q.setMaxResults(4);//设置截取查询结果的最大值
q.setFirstResult(2);//设置从几个开始查询
- 常用的一些HQL查询语句详解(1)
- 常用的一些HQL查询语句详解(2)
- 常用的一些HQL查询语句详解(3)
- HQL常用的查询语句
- hql的常用的查询语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的HQL语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的Hql语句
- 常用的hql语句
- 常用的Hql语句
- HQL语句查询中一些参数设置的问题
- DAG的深度优先搜索标记
- 以Rust为例,看如何学习一门新语言?
- DX学习笔记(旋转的茶壶)DX自带几何体
- LeetCode 163. Missing Ranges
- *leetcode #87 in cpp
- 常用的一些HQL查询语句详解(1)
- Win7+VS2013+OpenCV2.4.13+CUDA7.5.18+CMAKE3.3.0 环境搭建
- leetcode #88 in cpp
- LeetCode 166. Fraction to Recurring Decimal
- 数据库的内联接、外联接
- Binary Tree Level Order Traversal II
- C/C++中读写文件
- leetcode #89 in cpp
- Symmetric Tree