hibernate---session查询
一、hql语句查询(适合多表)
public class MyTest {
public static void main(String[] args) {
//查询集合
Session session = SessionUtil.openSession();
String hql = "from Emp";
Query query = session.createQuery(hql);
@SuppressWarnings("unchecked")
List<Emp> list = query.list();
//带条件查询方法1
String hql2 = "from Emp where empno = ?";
Query query2 = session.createQuery(hql2);
query2.setInteger(0, 23);
Emp emp = (Emp) query2.uniqueResult();
//带条件查询方法2
String hql3 = "from Emp where empno = ?";
Query query3 = session.createQuery(hql3);
query3.setParameter(0, 23);
Emp emp2 = (Emp) query3.uniqueResult();
//带条件查询方法3(命名占位符)
String hql4 = "from Emp where empno = :xx";
Query query4 = session.createQuery(hql4);
query4.setParameter("xx", 23);
Emp emp3 = (Emp) query4.uniqueResult();
//分页查询
String hql5 = "from Emp";
Query query5 = session.createQuery(hql5);
query5.setFirstResult(0);
query5.setMaxResults(10);
@SuppressWarnings("unchecked")
List<Emp> list2 = query5.list();
System.out.println(list);
System.out.println(emp);
System.out.println(emp2);
System.out.println(emp3);
System.out.println(list2);
}
}
二、criteria查询(无语句查询,适合单表查询)
private static void run2() {
//查询集合
Session session = SessionUtil.openSession();
Criteria criteria = session.createCriteria(Emp.class);
List<Emp> list = criteria.list();
/*
* 带条件查询方法
* > gt
* < lt
* == eq
* != ne
*/
Criteria criteria2 = session.createCriteria(Emp.class);
criteria2.add(Restrictions.eq("empno", 23));
Emp emp = (Emp) criteria2.uniqueResult();
//分页查询
Criteria criteria3 = session.createCriteria(Emp.class);
criteria3.setFirstResult(0);
criteria3.setMaxResults(2);
List<Emp> list2 = criteria3.list();
System.out.println(list);
System.out.println(emp);
System.out.println(list2);
}
三、原生态sql语句查询
private static void run3() {
//集合查询
Session session = SessionUtil.openSession();
String sql = "select * from Emp";
SQLQuery sqlQuery = session.createSQLQuery(sql);
sqlQuery.addEntity(Emp.class);
List<Emp> list = sqlQuery.list();
//条件查询
String sql2 = "select * from emp where ename = ?";
SQLQuery sqlQuery2 = session.createSQLQuery(sql2);
// sqlQuery2.setParameter(0, "JAMES");
sqlQuery2.setString(0, "JAMES");
sqlQuery2.addEntity(Emp.class);
List<Emp> list2 = sqlQuery2.list();
//分页查询
//如果是mysql使用特有的limit
//如果是oracle使用原生态sql查询
System.out.println(list);
System.out.println(list2);
}
hibernate---session查询的更多相关文章
- hibernate模糊查询
hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...
- Hibernate的查询方式总结
Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...
- Hibernate SQL查询 addScalar()或addEntity()
本文完全引用自: http://www.cnblogs.com/chenyixue/p/5601285.html Hibernate除了支持HQL查询外,还支持原生SQL查询. 对原 ...
- Hibernate条件查询
设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 Hibernate的Criteria 的用法进行总结:Hibernate 设计了 CriteriaSpecificat ...
- atitit。 hb Hibernate sql 查询使用
atitit. hb Hibernate sql 查询使用 #----------返回list<map>法..这个推荐使用. q.setResultTransformer(Tr ...
- Could not open Hibernate Session for transaction;
javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException: Co ...
- Hibernate3回顾-5-简单介绍Hibernate session对数据的增删改查
5. Hibernate对数据的增删改查 5.1Hibernate加载数据 两种:get().load() 一. Session.get(Class arg0, Serializable arg1)方 ...
- [转]Hibernate Session各种状态转换方法分析
摘自http://spiritfrog.iteye.com/blog/221177 我的印象里, Hibernate session中常用的保存操作只有:save, update, saveOrUpd ...
- Hibernate高级查询QBC条件设置——Restrictions用法 引自:http://www.cnblogs.com/evon168/archive/2010/10/29/1863059.html
方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...
- hibernate.Session简介
★→→SessionFactory (org.hibernate.SessionFactory) 包含已经编译的映射(mappings),是制造session的工厂,可能含有一些可以在各个事务(tra ...
随机推荐
- JavaScript-DOM(2)
内部样式及外部样式的获取及修改 内部样式或外部样式不能通过style属性获取样式 IE浏览器:var width = div1.currentStyle.width; 非IE:window.getCo ...
- hdu 4277 USACO ORZ dfs+hash
USACO ORZ Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
- 机器学习实战1-2.1 KNN改进约会网站的配对效果 datingTestSet2.txt 下载方法
今天读<机器学习实战>读到了使用k-临近算法改进约会网站的配对效果,道理我都懂,但是看到代码里面的数据样本集 datingTestSet2.txt 有点懵,这个样本集在哪里,只给了我一个文 ...
- SR-IOV虚拟机的MTU与物理网卡的MTU
在进行SR-IOV虚拟机MTU方面的测试时,出现如下情况: 1)物理网卡PF的MTU值是4000: root@compute-1:~# ip l|more1: lo: <LOOPBACK,UP, ...
- ThinkPHP5.0完全开发手册 --技术文档
1.ThinkPHP5.0完全开发手册.chm 链接:https://pan.baidu.com/s/1199wK6q6O9IyOf5RU_-Xow 提取码:hnek 2.ThinkPHP5.0完全开 ...
- prometheus热重启
prometheus启动命令添加参数 --web.enable-lifecycle 然后热重启:curl -XPOST http://localhost:9090/-/reload
- vue教程自学笔记(三)
五.Class与Style绑定 可以用v-bind用于class和style,表达式结果类型除了字符串,还可以是对象或数组. 1.绑定HTML Class 对象语法:给v-bind:class传递一个 ...
- learning makefile .PHONY
- c函数 文件名通配符
static bool IsMatched(CONST TCHAR* p, CONST TCHAR* q) { CONST TCHAR *r, *z, *x = _T(""); f ...
- Linux c读取系统内存使用信息
系统的内存使用信息能够在虚拟文件系统/proc/meminfo中找到,如图 所以只要打开/proc/meminfo文件,然后从中读取信息就好了 #include <stdio.h>#inc ...