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. java-关于浏览器的判断

    一.判断是手机还是电脑浏览器 public final static String[] agent = { "Android", "iPhone", " ...

  2. c# GridView有关RowClick事件,可单击显示选中的row

    //当前选定行 int i = this.gridView1.FocusedRowHandle; //选中行,列名为name的值 gridView1.GetRowCellDisplayText(i, ...

  3. Git 源代码管理工具

    Git 源代码管理工具 Git基本信息 Git :Git是一个“分布式”的版本控制工具 Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Lin ...

  4. The Strategy pattern

    public class Strategy {public static void main(String[] args) {int [] array=new int[]{26,25,15,42,36 ...

  5. 关于libsvm工具箱在64位matlab下的安装说明

    LIBSVM工具箱的安装 基本方法: 1.在网上下载LIBSVM工具箱. http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 2.将LIBSVM工具箱所在目录添加到MA ...

  6. 启动maven项目发现没有tomcat

    手动配置tomcat插件 1.在项目打开之前,选择configure--->plugins 2.搜索"tomcat",勾选,ok 3.再选择configure--->s ...

  7. H5、CSS3属性的支持性以及flex

    一.项目中用到一个flex属性,但是应用了flex的父容器只设置了width,没有设置height,此时每一个应用了上面提到的属性的样式的div都重叠在了一起,在IE10,IE11出问题,IE9没有问 ...

  8. ProgressBar 详解

    发现一个关于ProgressBar的网站,写得特别详细. 分享予大家: http://www.apkbus.com/android-735-1-1.html

  9. <Oracle Database>逻辑结构

    逻辑结构 Oracle的逻辑结构是一种层次结构.主要由:表空间.段.区和数据块等概念组成.逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构. 数据块 数据块是Oracle最小的 ...

  10. 导入aar文件出错

    错误日志: > Could not resolve all dependencies for configuration ':app:_debugCompile'. > Could not ...