----------------------------------------------------------------------
HQL(Hibernate Query Language)是面向对象的查询语言
1 按照位置绑定
Query query = session.createQuery("from Customer c where c.username = ?");
query.setString(0, "name1");
Customer customer = (Customer)query.uniqueResult();
//Customer customer = (Customer)query.setMaxResults(1).uniqueResult();
System.out.println(customer.getUsername());
2
Iterator<Users> it= session.createQuery(" FROM Users WHERE username=? AND age=?").setString(0, "hujin").setInteger(1, 25).list().iterator();
while(it.hasNext())
{
Users user = it.next();
System.out.println("用户:"+user.getUsername()+" 密码:"+user.getPassword());
}
3
List result=session.createQuery("……").setString("customerName","Tom").setInteger("customerAge",21).list();
----------------------------------------------------------------------
QBC检索方式
1 //创建一个Criteria对象
Criteria criteria=session.createCriteria(Customer.class);
//设定查询条件,然后把查询条件加入到Criteria中
Criterion criterion1= Expression.like("name", "T%") ;
Criterion criterion2= Expression.eq("age", new Integer(21)) ;
criteria=criteria.add(criterion1);
criteria=criteria.add(criterion2);
//执行查询语句,返回查询结果
List result=criteria.list();
2
List result=session.createCriteria(Customer.class) .add(Expression.like("name", "T%").add(Expression.eq("age", new Integer(21)).list();
3 Criteria crit = sess.createCriteria(Cat.class);
crit.setMaxResults(50);
List cats = crit.list();
---------------------------------------------------------------------
对于集合遍历的问题
1 如果集合中是对象,可以如下打印出来,如:
Query query = (Query)session.createQuery("from Customer");
List list = query.list();
for (int i = 0; i < list.size(); i++)
{
Customer c = (Customer)list.get(i);
System.out.println(c.getId()+" "+c.getUsername());
}
2 如果集合中为数组,可以如下显示出来:
Query query = (Query)session.createQuery("select id,username from Customer");
List list = query.list();
for (int i = 0; i < list.size(); i++)
{
Object[] o = (Object[])list.get(i);
System.out.println(o[0]+" "+o[1]);
}
----------------------------------------------------------------------
分页查询
1 采用HQL检索方式
Query query = session.createQuery("from Customer c order by c.name asc");
query.setFirstResult(0);
query.setMaxResults(10);
List result = query.list();
2 采用QBC检索方式
Criteria criteria = session.createCriteria(Customer.class);
criteria.addOrder(Order.asc("name"));
criteria.setFirstResult(0);
criteria.setMaxResults(10);
List result = criteria.list();
分享到:
相关推荐
Hibernate常用查询语句.doc
Criteria API提供了一种更面向对象的方式来构建查询,无需编写字符串查询语句,更易于代码维护。 7. **缓存管理** Hibernate支持一级缓存(Session级别的)和二级缓存(SessionFactory级别的)。一级缓存自动管理...
以下是对标题、描述中提到的Hibernate常用jar包的详细解释: 1. **antlr-2.7.6**: ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。...
下面我们将详细探讨Hibernate常用JAR包及其作用。 1. **hibernate-core.jar**:这是Hibernate的核心库,包含了主要的ORM功能,包括实体管理、持久化操作、事务管理和查询服务。它提供了对Hibernate Session和...
以上就是关于Hibernate常用jar包的一些介绍,每个库都有其独特的功能,共同构成了Hibernate的强大ORM框架。理解并熟练掌握这些库的用途,对于有效地利用Hibernate进行开发至关重要。在实际项目中,开发者还需要根据...
4. **org.hibernate.dialect**:Hibernate支持多种数据库,这个包定义了各种数据库的方言(Dialect),使得Hibernate可以生成符合特定数据库语法的SQL语句。例如,MySQLDialect对应MySQL,Oracle10gDialect对应...
《Hibernate常用jar包详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑的实现,而非底层的SQL语句编写。为了能顺利使用Hibernate,...
以下是对"hibernate常用的jar"的详细说明: 1. **Hibernate核心库**:`hibernate-core.jar` - 这是Hibernate的核心组件,包含了ORM的主要功能,如实体管理、会话管理、查询语言(HQL)和Criteria API等。 2. **JPA...
标题中的“hibernate常用包(包含数据库)”指的是Hibernate框架的基础组件,这些组件是进行JavaWeb开发中数据持久化操作的关键。Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间...
本压缩包“ssh-hibernate常用包.rar”包含了学习Hibernate5时所需的基础导入jar包,特别适合初学者进行数据库管理与Java对象的映射学习。 1. **Hibernate5**: Hibernate 5是ORM(Object-Relational Mapping)框架的...
提供的"Struts+Hibernate常用驱动整理"压缩包可能包含以下组件: - Struts相关的jar包:如struts2-core、struts2-convention、struts2-json-plugin等,用于核心功能、约定优于配置的加载和JSON支持。 - Hibernate的...
在这个“hibernate 3.5.5 常用jar包”中,包含了运行和开发基于Hibernate 3.5.5应用所需的核心库。以下是关于Hibernate 3.5.5及其相关jar包的关键知识点: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为...
这个压缩包包含了一些常用的jar包,用于支持Struts2和Hibernate框架的运行。下面我们将逐一介绍这些jar包的功能和作用。 1. **hibernate-core-4.2.4.Final.jar**:这是Hibernate的核心库,包含了ORM(对象关系映射...
### 常用Hibernate映射配置详解 #### 1. hibernate-mapping节点解析 `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库...
这是一个java代码包,里面提供了一个核心类,专门负责生成 hibernate查询语句(常用的,并非所有,现在能力有限),其他都是一些辅助类,自我感觉还可以。主要是为了减轻以后的项目开发负担,可以省去拼接hql查询语句的...
这个压缩包文件"hibernate常用lib"包含了开发Hibernate应用所需的常用库文件,总计16个。这些库文件通常包括Hibernate的核心库、数据库驱动、依赖的第三方库等,是构建基于Hibernate的应用程序的基础。 在Hibernate...
Hibernate是一个强大的Java持久化框架,它使得开发人员可以更加便捷地操作数据库,无需直接编写SQL语句。在Java应用程序中,Hibernate提供了对象关系映射(ORM)功能,将数据库中的表映射为Java对象,从而简化了数据...
在“hibernate常用jar”中,包含了一系列的Hibernate库文件,这些文件是开发基于Hibernate的应用程序所必需的。下面将详细介绍这些jar文件以及它们在Hibernate框架中的作用: 1. **hibernate-core.jar**:这是...