Hibernate中的Query对象查询所有记录

映射文件,核心文件,实体类,工具类的内容都不变直接看测试方法中的代码:
package com.yinfu.test; import java.util.List; import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test; import com.yinfu.entity.User;
import com.yinfu.utils.HibernateUtils; public class HibernateQueryTest { @Test
public void queryTest() {
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction(); //1:创建query对象,方法里面写hql语句
Query query = session.createQuery("from User");
//2:利用query对象中的方法得到结果
List<User> list = query.list();
System.out.println(list); tx.commit();
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}finally{
session.close();
sessionFactory.close();
}
} }
QueryTest
输出结果:


映射文件,核心文件,实体类,工具类的内容都不变直接看测试方法中的代码:
package com.yinfu.test; import java.util.List; import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test; import com.yinfu.entity.User;
import com.yinfu.utils.HibernateUtils; public class HibernateQueryTest { @Test
public void criteriaTest() {
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction(); //1:创建query对象,方法里面实体类class
Criteria criteria = session.createCriteria(User.class);
//2:利用query对象中的方法得到结果
List<User> list = criteria.list();
System.out.println(list); tx.commit();
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}finally{
session.close();
sessionFactory.close();
}
} }
CriteriaTest
输出结果:


映射文件,核心文件,实体类,工具类的内容都不变直接看测试方法中的代码:(这样输出的默认是数组型集合,不是对象型集合)
package com.yinfu.test; import java.util.List; import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test; import com.yinfu.entity.User;
import com.yinfu.utils.HibernateUtils; public class HibernateQueryTest { @Test
public void sqlQueryTest() {
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction(); //1:创建query对象,方法里面是普通的SQL语句
SQLQuery sqlQuery = session.createSQLQuery("select * from t_user");
//2:利用sqlQuery对象中的方法得到结果
//返回list对象,默认list中的每部分都是数组结构
List list = sqlQuery.list();
System.out.println(list); tx.commit();
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}finally{
session.close();
sessionFactory.close();
}
} }
sqlQueryTest
此时的结果是:

装换成对象型集合:
package com.yinfu.test; import java.util.List; import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test; import com.yinfu.entity.User;
import com.yinfu.utils.HibernateUtils; public class HibernateQueryTest { @Test
public void sqlQueryTest() {
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction(); //1:创建query对象,方法里面是普通的SQL语句
SQLQuery sqlQuery = session.createSQLQuery("select * from t_user");
//2:设置数据放到哪个对象中去
sqlQuery.addEntity(User.class);
//3:利用sqlQuery对象中的方法得到结果
//返回list对象,默认list中的每部分都是数组结构
List<User> list = sqlQuery.list();
System.out.println(list); tx.commit();
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}finally{
session.close();
sessionFactory.close();
}
} }
sqlQueryTest
输出结果:

Hibernate中的Query对象查询所有记录的更多相关文章
- Hibernate中关于Query返回查询结果是类名的问题
query.list返回的是一个装有类的信息的集合,而不装有数据库信息的集合.如下图 运行结果为: 因为得到的集合是类,所以要将list泛型设为那个类,并且将得到的集合进行.get(x).getx ...
- 分享知识-快乐自己:Hibernate 中Criteria Query查询详解
1):Hibernate 中Criteria Query查询详解 当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中. 此外,Hibernate还支持Cr ...
- Lucene中的 Query对象
"Lucene中的 Query对象": 检 索前,需要对检索字符串进行分析,这是由queryparser来完成的.为了保证查询的正确性,最好用创建索引文件时同样的分析器. quer ...
- J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())
J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate()) 当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...
- Hibernate中的多表查询及抓取策略
1.Hibernate中的多表查询 1.1SQL中的多表查询 [交叉连接] select * from A,B; [内连接] 显示内连接:inner join(inner 可以省略) Select * ...
- hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换)。
hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换). 解答:在Hibernate中,对象有三种状态:临时状态.持久状态和游离状态. 临时状态:当new一个实体对象后,这个对 ...
- Hibernate中的配置对象
数据库连接:由 Hibernate 支持的一个或多个配置文件处理.这些文件是 hibernate.properties 和 hibernate.cfg.xml. 类映射设置:这个组件创造了 Java ...
- Hibernate中的Query
//1:创建query对象,方法里面写hql语句 Query query = session.createQuery("from User"); //2:利用query对象中的方法 ...
- Hibernate中的Session对象 标签: hibernatesession 2017-01-22 22:10 238人阅读 评论(
Hibernate中的Session 大家在看hibernate视频的时候一定都发现了,每次要操作数据库,总是要新建一个session对象,Hibernate在对资料库进行操作之前,必须先取得Sess ...
随机推荐
- Javascript中没有引用传递,只有按值传递
很多人,包括我,受书本知识消化不彻底的影响,认为 JS 中参数有两种传递方式:数字.字符串等按值传递:数组.对象等按地址(引用)传递.对此种观点,我们要谨慎. var v1 = [] var v2 = ...
- strsep strpbrk
#include <stdio.h> #include <string.h> int main(void) { char s[] = "aa,bb,cc.11,22, ...
- poj 1860 Currency Exchange 解题报告
题目链接:http://poj.org/problem?id=1860 题目意思:给出 N 种 currency, M种兑换方式,Nick 拥有的的currency 编号S 以及他的具体的curren ...
- 一步一步学Silverlight 2系列(16):数据与通信之JSON
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- 使用gcc找出头文件的路径
参考 http://stackoverflow.com/questions/13079650/how-can-i-find-the-header-files-of-the-c-programming- ...
- C#在一段数字区间内随机生成若干个互不相同的随机数
/// <summary> /// Random ra=new Random(); 系统自动选取当前时前作随机种子: /// Random ra=new Ra ...
- 推箱子 Sokoban(华中农业比赛)
点这里 打开题目链接 点击打开链接 题目就是我们玩过的推箱子: 一顿暴力广搜:加状态标记.状态压缩需要用到一个类似于康拓的思想来压缩:所以容易TLE,搜索就是用一个int型的数字来表示一个状态, ...
- angularJS ng-if的用法
ng-if主要是用来判断是否显示,也可以做为而者选择其中一个的方法,满足判断条件ng-if="变量名" 显示,否者不显示,也可以用ng-if="!变量名"取反, ...
- 如何下载WDK
随着Windows Vista和Windows Server 2008的相继发布,微软的驱动开发工具也进行了相应的更新换代.原来的驱动开发工具包叫做DDK(Driver Develpment Kit) ...
- 状态保存机制之ViewState概述及应用
状态保存机制之ViewState概述及应用 作者: 字体:[增加 减小] 类型:转载 无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览器后,会关闭当前Socket ...