// 1,简单查询(查询所有的Employee)
// Criteria criteria = session.createCriteria(Employee.class);
// criteria.add(Restrictions.gt("id", 5)); // id大于5
// criteria.add(Restrictions.le("id", 10)); // id小于等于10
// criteria.addOrder(Order.desc("id")); // 按id降序排列
Criteria criteria = session.createCriteria(Employee.class)//
.add(Restrictions.gt("id", 5)) // id大于5
.add(Restrictions.le("id", 10)) // id小于等于10
.addOrder(Order.asc("name")) // 第1顺序,按name升序排列
.addOrder(Order.desc("id")); // 第2顺序按id降序排列
// 执行查询,得到结果集合
List list = criteria.list();
// 显示结果
for (Object obj : list) {
if (obj.getClass().isArray()) { // 如果是数组
String result = Arrays.toString((Object[]) obj);
System.out.println(result);
} else { // 如果不是数组,则使用toString()的结果
System.out.println(obj);
}
}
// 执行查询,得到唯一的结果。如果查询出了多个结果,则会抛异常。
// Object result = criteria.uniqueResult();
配置数据库连接池(c3p0)
使用Hibernate包中自带的c3p0.只需在主配置文件中配置几个关键属性即可:
<!-- 使用c3p0连接池 配置连接池提供的供应商-->
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<!--在连接池中可用的数据库连接的最少数目 -->
<property name="c3p0.min_size">5</property>
<!--在连接池中所有数据库连接的最大数目 -->
<property name="c3p0.max_size">20</property>
<!--设定数据库连接的过期时间,以秒为单位,
如果连接池中的某个数据库连接处于空闲状态的时间超过了timeout时间,就会从连接池中清除 -->
<property name="c3p0.timeout">120</property>
<!--每3000秒检查所有连接池中的空闲连接 以秒为单位-->
<property name="c3p0.idle_test_period">3000</property>
分享到:
相关推荐
3. **Criteria 查询**:除了传统的 HQL(Hibernate Query Language)查询外,Hibernate 3.6 引入了 Criteria 查询,它允许开发者以更加面向对象的方式构建查询,更符合 Java 开发者的习惯。 4. ** Criteria API**:...
5. **Criteria查询**:Hibernate提供了Criteria API,一种更面向对象的查询方式,允许开发者动态构建查询,无需编写SQL语句。 6. **HQL(Hibernate Query Language)**:类似于SQL,但专为ORM设计,HQL允许开发者以...
Criteria API基于面向对象的方式进行查询构建,可以动态地添加各种查询条件,包括等值比较、范围查询、模糊查询等,使得查询操作更加直观和易于管理。 ### 模糊查询的意义 模糊查询是数据库操作中常见的一种需求,...
4. **查询语言**:Hibernate Query Language (HQL) 是一种面向对象的查询语言,类似于SQL,但操作的是对象而不是表格。此外,Hibernate 3.6也支持Criteria查询,提供更动态的构建查询方式。 5. **第二级缓存**:为...
3. **Criteria 查询**:除了传统的HQL(Hibernate Query Language)查询,Hibernate 3.6也支持Criteria查询,这是一种更加面向对象的查询方式。Criteria API允许动态构建查询,无需编写SQL字符串,提高了代码的...
Criteria API则是另一种查询方式,更加面向对象,允许动态构建查询条件。 7. **缓存机制**: Hibernate支持一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存),可以提高数据访问速度。 8. **...
`Criteria`是Hibernate提供的一个用于执行查询的标准API,它基于对象模型而不是SQL语句来构建查询,这使得开发人员能够以面向对象的方式进行数据库操作,避免了直接编写SQL带来的复杂性和潜在错误。通过`Criteria`,...
4. **查询API和方言**:Hibernate提供了HQL(Hibernate Query Language)和Criteria API,允许开发者以面向对象的方式执行数据库查询。`hibernate-tools.jar`可能包含Hibernate的逆向工程工具,可以自动生成实体类。...
Hibernate是Java平台上的一款开源的对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作,大大简化了数据库编程。在这个“hibernate3.6相关jar包”中,我们很可能找到了Hibernate 3.6版本所需的一...
Hibernate是一个开源的ORM框架,它为Java应用程序提供了将数据库操作转化为面向对象的API,极大地简化了数据库编程。3.6版本是其成熟期的一个稳定版本,引入了许多性能优化和新特性。 二、Hibernate架构 1. ...
4. **Querying** - Hibernate支持HQL(Hibernate Query Language)、 Criteria API和JPQL(Java Persistence Query Language)等查询方式。掌握这些查询语言和API可以帮助开发者灵活地检索和操作数据。 5. **懒加载...
【hibernate3.6.X】是一个流行的Java持久化框架,它实现了ORM(对象关系映射)技术,使得开发者可以通过面向对象的方式处理数据库操作,从而降低了数据库编程的复杂性。在传统的三层架构中,hibernate常被用作数据...
Hibernate是Java平台上的一款开源对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作。在SSH(Spring、Struts、Hibernate)框架中,Hibernate作为持久层的解决方案,极大地简化了数据库操作的...
Hibernate支持HQL(Hibernate Query Language)和Criteria API,提供比SQL更面向对象的查询方式,也可以直接使用SQL进行查询。 在实际项目中,根据具体需求选择并引入相关的Hibernate库,合理配置,即可利用其强大...
Hibernate是Java开发中的一款非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库。Hibernate 3.6是其一个稳定且广泛使用的版本。本文将围绕Hibernate 3.6...
文档会介绍HQL(Hibernate Query Language),这是一种面向对象的查询语言,类似于SQL但更适应于对象模型。此外,它还会讲解Criteria API和Detached Criteria,提供更加灵活的查询方式。同时,不要忘记,文档还会...
6. **HQL和Criteria查询**:Hibernate Query Language(HQL)是Hibernate提供的面向对象的查询语言,类似于SQL。手册会介绍HQL的基本语法和使用,以及Criteria API,这是一种更面向对象的查询方式。 7. **性能优化*...
6. **Query与HQL**:HQL是Hibernate的面向对象的查询语言,类似于SQL,但更贴近于Java对象,可以方便地进行复杂的数据查询。 7. **缓存机制**:Hibernate支持第一级缓存(Session级别的)和第二级缓存...