第五次作业 hql查询
hql查询是基于对象的查询,不是基于表的查询。
1.hql的简单查询
@Test
public void queryUsers() {
//简单查询
SessionFactory sf = null;
Session s = null;
Transaction t = null;
try {
sf = HibernateUtil.getSessionFactory();
s = sf.getCurrentSession();
t = s.beginTransaction();
Query<User> query = s.createQuery("from User");
List<User> users = query.list();
for(User user:users){
System.out.println(user);
}
t.commit();
}catch(Exception e) {
if(t!=null) {
t.rollback();
}
e.printStackTrace();
}
}
其中“from User”是hql语句,User是实体类User类,而不是User表
此实例测试结果

数据库内容

2.属性查询
@Test
public void queryUsernames() {
//属性查询
SessionFactory sf = null;
Session s = null;
Transaction t = null;
try {
sf = HibernateUtil.getSessionFactory();
s = sf.getCurrentSession();
t = s.beginTransaction();
Query<User> query = s.createQuery("select u.username from User u");
List usernames = query.list();
for(Object username:usernames){
System.out.println(username);
}
t.commit();
}catch(Exception e) {
if(t!=null) {
t.rollback();
}
e.printStackTrace();
}
}
测试结果

3.实例化查询
@Test
public void queryNewUser() {
//实例化查询
SessionFactory sf = null;
Session s = null;
Transaction t = null;
try {
sf = HibernateUtil.getSessionFactory();
s = sf.getCurrentSession();
t = s.beginTransaction();
Query<User> query = s.createQuery("select new User(u.id,u.username,u.password,u.sex,u.age) from User u");
List<User> users = query.list();
for(User user:users){
System.out.println(user);
}
t.commit();
}catch(Exception e) {
if(t!=null) {
t.rollback();
}
e.printStackTrace();
}
}
对对象进行实例化
测试结果

第五次作业 hql查询的更多相关文章
- Hibernate五 HQL查询
HQL查询一 介绍1.HQL:Hibernate Query Language,是一种完全面向对象的查询语言.使用Hibernate有多重查询方式可供选择:hibernate的HQL查询,也可以使用条 ...
- Hibernate--------八大类HQL查询集合
Hibernate的 八大类HQL查询集合 Hibernate的八大类HQL查询集合: 一:属性查询(SimplePropertyQuery) 1,单一属性查询 *返回结果集属性列表,元素类型和实 ...
- Hibernate5.2之HQL查询
Hibernate5.2之HQL查询 一. 介绍 Hibernate的 ...
- Hibernate学习笔记-Hibernate HQL查询
Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...
- J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())
J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate()) 当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...
- 17秋 软件工程 团队第五次作业 Alpha 测试报告
用户反馈博客:17秋 软件工程 团队第五次作业 Alpha 用户反馈 团队项目软件的总体测试计划 测试模块: 用户登录 部门信息模块 活动模块 部员管理模块 短信通知模块 测试计划: 注:测试结果Y代 ...
- C#基础第五天-作业答案-用DataTable制作名片集
.DataTable 实现 DataTable PersonCard = new DataTable(); //创建一个DataTable DataTable PersonCardCopy = new ...
- C#基础第五天-作业-用DataTable制作名片集
1.用DataTable集合去实现名片集.(增加,修改,删除,查询,查询全部)需求:根据人名去(删除/查询).指定列:姓名,年龄,性别,爱好,电话. 本系列教程: C#基础总结之八面向对象知识点总结- ...
- Hibernate(九)HQL查询
一.Hibernate提供的查询方式 OID查询方式:主键查询.通过get()或者load()方法加载指定OID的对象查询结果为一个 HQL查询方式:通过Query接口使用HQL语言进行查询 QBC查 ...
随机推荐
- Tomcat学习总结(4)——基于Tomcat7、Java、WebSocket的服务器推送聊天室
前言 HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用.以前的服务器消息推送大 ...
- 使用keepalived实现双机热备
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.下面来以keepalived结合tom ...
- JGraphT
例1: 添加点.边 import java.net.*; import org.jgrapht.*; import org.jgrapht.graph.*; /** * A simple introd ...
- SpringMvc @JsonView 使用方式
准确来说,@JsonView注解不是Spring的,它位于jackson-annotation包中: 作用:SpringMvc使用@ResponseBody将结果以json返回客户端, 有些实体类的 ...
- [转]腾讯云Linux云服务器文件上传利器——WinSCP
本文转自:http://bbs.qcloud.com/thread-4379-1-1.html WinSCP简介 WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持S ...
- _ViewStart文件应用
在这篇<MVC母版页_Layout.cshtml>http://www.cnblogs.com/insus/p/3380419.html中,把一些已经存在的视图或是新产生的视图加入母版中. ...
- C# Hadoop学习笔记(一)—环境安装
一.安装环境 1,前期准备:官网下载“NuGet Package Manager”,按自己已有的VS环境下载对应版本: 2,利用NuGet下载Hadoop For .NET SDK,地址“http:/ ...
- JUC源码阅读参考文章
(飞哥)http://brokendreams.iteye.com/blog/2252081 (熊猫)http://blog.csdn.net/xiaoxufox/article/details/51 ...
- 几个常用T_SQL语句比较
UNION ALL VS UNION : union all 对两个结果进行并集操作,包括重复行,即所有的结果全部显示,不管是不是重复:union 对两个结果集进行并集操作,不包括重复行,相当于 di ...
- 使用LINQ查询数据实例和理解
使用LINQ查询数据实例和理解 var contacts= from customer in db.Customers where customer.Name.StartsWith("A&q ...