package com.test;

import java.util.Date;
import java.util.List; import org.hibernate.Query;
import org.hibernate.Session; import com.entity.User;
import com.hibernate.HibernateUtil; public class QueryTest
{
public static void main(String[] args)
{
User user = new User();
user.setName("name");
user.setBirthday(new Date());
HibernateUtil.addUser(user);
query(user.getName());
}
static void query(String name)
{
Session s = null;
try
{
s = HibernateUtil.getSession();
String hql = "from User as user where user.name = ?";
Query query = s.createQuery(hql);
query.setString(0, name);
List<User> list = query.list();
for(User user:list)
{
System.out.println(user.getId() + " " + user.getName());
}
}
finally
{
if(s != null)
{
s.close();
}
}
}
}

这段代码中,HibernateUtil是自己写的工具类,封装了一些方法。

上面代码中,先add一个新的user。然后使用query运行hql语句。

除了query.list();
还有常用的query.uniqueResult();

另外就是分页要用的方法:

query.setFirstResult(1);
query.setMaxResults(10);

package com.test;

import java.util.Date;
import java.util.List; import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions; import com.entity.User;
import com.hibernate.HibernateUtil; public class Cri
{
public static void main(String[] args)
{
User user = new User();
user.setName("xiaoy");
user.setBirthday(new Date());
HibernateUtil.addUser(user);
cri(user.getName());
}
static void cri(String name)
{
Session s = null;
try
{
s = HibernateUtil.getSession();
Criteria cri = s.createCriteria(User.class);
cri.add(Restrictions.eq("name", name));
List<User> list = cri.list();
for(User u:list)
{
System.out.print(u.getName() + " ");
}
}
finally
{
if(s != null)
{
s.close();
}
}
}
}

Criteria使用方法也很简单,主要看调用Restrictions来设置查询条件。

hibernate HQL和Criteria的更多相关文章

  1. Hibernate HQL查询:

    Hibernate HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查 ...

  2. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  3. Hibernate-ORM:15.Hibernate中的Criteria查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲师Hibernate中的Criteria查询! 一,Criteria简介: 刚接触Hibernate ...

  4. Hibernate框架之Criteria 详解

    自从学数据库以来,从SQL查询-HQL查询-到Criteria 查询.有人问我:掌握一种查询语句不就可以吗,为什么还要学Criteria 查询?我回答道:用到特定于数据库的SQL 语句,程序本身会依赖 ...

  5. weblogic10异常:org.hibernate.hql.ast.HqlToken

    转自:http://www.programgo.com/article/68682994452/ 在做查询的时候,报出  org.hibernate.QueryException: ClassNotF ...

  6. SSH整合报错:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped[......]

    非常诡异的报错,信息如下:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [select count(* ...

  7. 解决Eclipse编译器报错ClassNotFoundException:Org.hibernate.hql.ast.HqlToken

    最近开发遇到Eclipse编译器老是报出ClassNotFoundException:Org.hibernate.hql.ast.HqlToken [from User Where id=1] 的错误 ...

  8. java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.MethodNode(尼玛,蛋疼的错误)

    java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.MethodNode   \-[M ...

  9. Hibernate HQL详细说明

    1.  Hibernate HQL详细说明 1.1.  hql一个简短的引论 Hibernate它配备了一种非常强大的查询语言.这种语言看起来非常像SQL.但是不要 要对相位的语法结构似,HQL是很有 ...

随机推荐

  1. wifi,网关相关标识的获取

    获取WIFI的相关信息 - (void)getWifiInfo { NSArray *ifs = (__bridge_transfer NSArray *)CNCopySupportedInterfa ...

  2. java:关于继承变量的值问题

    1.在java中,如果子类继承父类的静态变量时,当你在子类面前修改这个静态变量的值,其父类的静态变量也会改变. 案例: //父类public class Animal { //静态属性 public ...

  3. python3下安装Django

    1.下载python3 https://www.Python.org/ 我下载的是Python3.5.1 选的 Windows x86-64 executable installer 2. 打开cmd ...

  4. Java读取文件的几种方式

    package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...

  5. 「2014-5-31」Z-Stack - Modification of Zigbee Device Object for better network access management

    写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...

  6. ruby日记1

    1.irb参数配置 ~/.irbrc IRB.conf[:PROMPT_MODE] = :SIMPLE #简化 irb 提示符,以及禁用一些烦人的自动缩进行为 IRB.conf[:AUTO_INDEN ...

  7. java 多线程--- Thread Runnable Executors

    java 实现多线程的整理: Thread实现多线程的两种方式: (1)继承 Thread类,同时重载 run 方法: class PrimeThread extends Thread { long ...

  8. unity初始篇 选择游戏对象

    之前两任社长都在一直强调要写博客,一直没有写过,现在我已经踏上了博客的道路! 首先声明:本人才疏学浅,对unity认识不深,有错误的地方欢迎大家指出,在此谢过! 本文所说的选择对象,是指在游戏过程中动 ...

  9. sql语句:插入的时候判断是否有重复项

    把t_table1中数据插入到t_table中,同时确保t_table中不会有重复的项 insert into t_table  (column1,column2,column3) select co ...

  10. oracle在impdp时报ORA-31655和ORA-39154

    检查表空间大小设置的是否合理. 另外可以试试 grant IMP_FULL_DATABASE to user;增加导入权限. (转)