hibernate 中HQL查询
由于比较简单,在此处只写一些HQL语言。
表关系,多对一。
CREATE TABLE `user` (
`id` int() NOT NULL AUTO_INCREMENT,
`uname` varchar() ,
PRIMARY KEY (`id`)
)
CREATE TABLE `idcard` (
`id` INT() PRIMARY KEY NOT NULL AUTO_INCREMENT,
`addr` VARCHAR(),
`uid` INT() ,
FOREIGN KEY (`uid`) REFERENCES `user` (`id`)
)
其中每张表都有对应的类,分别是User,IdCard
1 查询全部
Query q = session.createQuery("from User");
List list = q.list();
2 查询指定列
Query q = session.createQuery("select u.uname, u.id from User u");
3 条件查询,and,or,between,模糊查询
Query q = session.createQuery("from User u where u.id between ? and ?");
q.setParameter(, );
q.setParameter(, );
4 聚合函数,count;分组,group by
Query q = session.createQuery("select i.iaddr,count(*) from User u, IdCard i where u.id=i.id group by i.iaddr ");
List list = q.list();
5 分页查询
Query q = session.createQuery("from User");
q.setFirstResult();
q.setMaxResults();
6 获取总记录数
方法一:使用聚合函数COUNT(*)
Query q = session.createQuery("select count(*) from User");
Long result = (Long) q.uniqueResult();
方法二:使用scroll(),首先滚动到最后,然后获取索引值
Query q = session.createQuery("from User");
ScrollableResults scrollResult = q.scroll(); //得到滚动的结果集
scrollResult.last(); //滚动到最后一行
int result = scrollResult.getRowNumber() + ; //获取当前值的索引值,因为是从0开始的,所以需要加1
7 hibernate对数据库连接C3P0连接池的支持,配置参数,可以到hibrenate.properties文件中找到
hibernate.cfg.xml配置文件如下
<property name="hibernate.connection.driver_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size"></property>
<property name="hibernate.c3p0.max_size"></property>
<property name="hibernate.c3p0.max_statements"></property>
<property name="hibernate.c3p0.timeout"></property>
<property name="hibernate.c3p0.idle_test_period"></property>
<property name="hibernate.c3p0.acquire_increment"></property>
在mysql中使用如下语句可以查看连接
SHOW PROCESSLIST;
hibernate 中HQL查询的更多相关文章
- Hibernate 中Hql 查询中间表的用法
案例简述: 项目中存在User 用户表 和 Role 角色表 它们之间是多对多的关系 在User类定义中 使用hibernate注解 //角色列表 @ManyToMany(targetEntity = ...
- Hibernate中Hql查询
这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利. 在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Class ...
- hibernate的hql查询
1.概念介绍 1.Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL查询语句. 2.HQL是Hibernate Query Langua ...
- Hibernate之HQL查询
一.Hibernate 提供了以下几种检索对象的方式: 导航对象图检索方式: 根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的 OID 来检索对象 HQL 检索方式:使用面向对象的 H ...
- Hibernate五 HQL查询
HQL查询一 介绍1.HQL:Hibernate Query Language,是一种完全面向对象的查询语言.使用Hibernate有多重查询方式可供选择:hibernate的HQL查询,也可以使用条 ...
- Hibernate 的hql查询简介【申明:来源于网络】
Hibernate 的hql查询简介[申明:来源于网络] Hibernate 的hql查询简介:http://blog.csdn.net/leaf_130/article/details/539329 ...
- JavaWeb_(Hibernate框架)Hibernate中数据查询语句HQL基本用法
HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. ...
- hibernate中HQL练习时候一个小小的错误导致语法异常
package cn.db.po.test; import java.util.List; import cn.db.po.User; import cn.db.po.biz.UserBiz; pub ...
- hibernate中带查询条件的分页
所谓分页,从数据库中分,则是封装一个分页类.利用分页对象进行分页. 但,分页往往带查询条件. 分页类的三个重要数据:[当前页码数],[数据库中的总记录数],[每页显示的数据的条数] 原理:select ...
随机推荐
- MySQL系列:innodb源码分析之内存管理
http://blog.csdn.net/yuanrxdu/article/details/40985363 http://book.2cto.com/201402/40307.html 从MySQL ...
- h264 封装 RTMP中FLV数据的解析 rtmp协议简单解析以及用其发送h264的flv文件
一个完整的多媒体文件是由音频和视频2部分组成的.H264.Xvid等就是视频编码格式,MP3.AAC等就是音频编码格式.字幕文件只是其中附带部分. 把视频编码和音频编码打包成一个完整的多媒体文件,可以 ...
- 开始整理iOS职位面试问题及答案
Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接 ...
- 前端必备工具-Emmet (Zen Coding)
Emmet 可以快速的编写 HTML 和 CSS,输入指令如: ul#nav>li*4>a*4 敲击一下TAB 键,就会输出: <ul id="nav"> ...
- ARM指令集—SWP指令
ARM指令集-SWP指令 SWP和SWPB是ARM指令集中对存储单元的原子操作.即对存储单元的一次读和一次不可被切割. SWP和SWPB分别完毕存储器和寄存器之间 一个字(32bit)和一个字节(8b ...
- 实用Linux命令
lsof -i:6379 查看某个端口的程序有没有起起来. netstat -tnlp 可以查看监听的端口,其中l是listening, p是显示program, n是显示ip而不是name, t看起 ...
- TZOJ 1072: 编辑距离(动态规划)
1072: 编辑距离 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 总提交: 917 測试通过:275 描写叙述 如果字符串的 ...
- [转发] git设置代理
一. 写的很好推荐,(http与ssh设置都有) https://imciel.com/2016/06/28/git-proxy/ 二. 只有 http的方式代码设置 http://stackover ...
- tomcat控制台启动成功但是却访问不了主页
从杭州来京出差,也许是因为春节将至,也或许是由于携带的一点点小情绪致使自己丧失了理智,So 那就开始吧.............北京有些地方也不错的. 需要帮同事在客户这边搭建一个Java proje ...
- Makefile自动编写工具实例
准备源文件如下: /*test.c*/ #include <stdio.h>#include "phello.h"#include "pword.h" ...