1、加入Hibernate的Jar包,并创建会话工厂HibernateUtil
2、加入数据库的Jar包
3、创建实体类Emp,省略了构造和setter、getter方法
package com.accp.entity; import java.util.Date; /** * 员工实体类 */ public class Emp { private Integer empno; //员工编号 private String ename; //姓名 private String job; //工种 private Integer mgr; //经理 private Float comm; //年终福利 private Float sal; //薪水 private Integer deptno; //部门编号 private Date hiredate; //入职日期 }
4、配置Emp的映射文件,Emp.hbm.xml
<hibernate-mapping package="com.accp.entity" schema="scott"> <class name="Emp" table="emp"> <id name="empno" column="empno"> <generator class="assigned" /> </id> <property name="ename" column="ename" /> <property name="job" column="job" /> <property name="mgr" column="mgr" /> <property name="hiredate" column="hiredate" /> <property name="sal" column="sal" /> <property name="comm" column="comm" /> <property name="deptno" column="deptno" /> </class> </hibernate-mapping>5、配置hibernate.cfg.xml,将Emp.hbm.xml加入到Hibernate的配置文件中
<hibernate-configuration> <session-factory> <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:accp</property> <property name="connection.username">scott</property> <property name="connection.password">tiger</property> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <mapping resource="com/accp/entity/Emp.hbm.xml" /> </session-factory> </hibernate-configuration>6、测试
public class Test { /** * 使用Hibernate查询员工 */ public static void main(String[] args) { //声明会话对象 Session ses = null; try { //获得会话 ses = HibernateUtil.getSession(); //获得Query对象,sql中Emp为类名而不是表名,区分大小写 Query que = ses.createQuery("from Emp"); //获得Emp集合 List<Emp> list = que.list(); //输出Emp集合 for(Emp e : list){ System.out.println(e.getEname()); } } catch (HibernateException e) { e.printStackTrace(); }finally{ //关闭会话 if(ses != null){ HibernateUtil.closeSession(); } } } }
输出结果:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Hibernate:
select
emp0_.empno as empno0_,
emp0_.ename as ename0_,
emp0_.job as job0_,
emp0_.mgr as mgr0_,
emp0_.hiredate as hiredate0_,
emp0_.sal as sal0_,
emp0_.comm as comm0_,
emp0_.deptno as deptno0_
from
scott.emp emp0_
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
相关推荐
Hibernate提供了一个简单易用的API来进行数据查询。主要通过`Session`接口的`find()`方法来执行查询。例如: ```java Session session = sessionFactory.openSession(); List<User> users = session.find("from ...
使用HQL进行多表联合查询是非常直观的,我们可以直接使用`FROM`子句来指定要查询的表,然后使用`JOIN`子句来连接不同的表。示例如下: ```java // 假设Customer和Charge实体类已定义好 Session session = ...
尽管Hibernate提供了一系列高级查询机制,但在某些情况下直接使用SQL查询仍然非常有用。 **特点:** - **直接性强:** 直接使用SQL查询,能够利用数据库本身的优化能力。 - **易理解:** 对于大多数开发者来说,...
当我们需要进行更复杂的数据库查询时,Hibernate提供了丰富的高级查询功能,这正是“Hibernate的高级查询”这一主题的核心所在。 在Hibernate中,高级查询主要包括HQL(Hibernate Query Language)、Criteria API和...
### Hibernate HQL 关联查询详解 #### 一、引言 在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM...
- Criteria API 更加面向对象,适合于简单的查询,或者在不熟悉SQL语法的情况下使用。它也更适合于自动化测试,因为可以更容易地模拟和验证查询条件。 - HQL则在处理复杂查询,特别是涉及到多个表关联时,表现更出色...
【hibernate查询详解】 Hibernate,作为一款强大的Java对象...而分页查询是大数据量场景下的常用策略,Hibernate提供了简单的API来实现。理解并熟练掌握这些查询方式,将有助于我们在Java开发中更好地运用Hibernate。
例如,通过`Criteria API`或`HQL`(Hibernate Query Language)进行多表联接查询,可以将查询结果转化为Object数组。这种方法简单直观,但缺乏类型安全,因为数组中的每个元素都是Object,需要在代码中进行强制类型...
基于Hibernate的简单留言本是一个基本的Web应用程序,它使用Hibernate作为数据持久化层,用户可以通过该系统进行留言、查看留言以及回复等操作。这个系统展示了如何在实际项目中应用Hibernate来管理数据库交互。 ...
除了基本的CRUD操作,Hibernate还支持复杂的查询功能,如JOIN、GROUP BY、HAVING等,可以使用HQL(Hibernate Query Language)或者Criteria API实现。例如,查询所有用户名为"testUser"的用户: ```java String hql...
**正文** Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使得开发人员可以更加专注于业务逻辑而不是数据库交互。...希望这篇文章能帮助你更好地理解和使用Hibernate进行数据库查询。
11. **Query对象**:Hibernate 5之后,推荐使用`Query`或`TypedQuery`进行HQL和Criteria查询,它们提供了更丰富的API,如设置参数、分页、排序等。 12. **映射文件(Mapping File)**:除了注解映射外,传统上还...
总结,Hibernate的HQL查询为开发者提供了强大且灵活的数据检索方式,使得在Java应用中操作数据库变得更加简单,同时提高了代码的可读性和可维护性。在实际开发中,熟练掌握HQL能极大地提升工作效率,特别是在处理...
根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...
**Hibernate查询方式详解** 在Java世界中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本教程将深入探讨Hibernate 3.x版本中的查询方式,包括基本查询、HQL(Hibernate Query ...
本文将详细介绍Hibernate的五种查询方式,包括HQL查询、Criteria方法、动态查询DetachedCriteria、例子查询、SQL查询以及命名查询,以满足不同场景下的需求。 1. HQL查询: Hibernate Query Language(HQL)是一种...
在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层数据...在实际开发中,通常会结合使用这三种查询方式,以充分利用Hibernate的灵活性和强大功能。
hibernate关联查询 实例源码 java web 如果不明白hibernate关联查询不明白的可以看看,保证马上学会,注释,数据库都有,很简单易学的源码,谢谢下载!
Eclipse中Hibernate简单配置和使用 Eclipse中配置和使用Hibernate框架是Java开发中常见的数据库持久化解决方案。本文将通过详细的步骤介绍Eclipse中配置和使用Hibernate框架,并提供一个简单的示例实现。 ...
总结起来,`Hibernate02`的核心是理解并熟练运用`Session`对象进行数据库操作,掌握HQL以进行面向对象的查询,以及理解在线查询和离线查询的适用场景。这些知识点对于任何涉及Java持久化的开发项目都是至关重要的。...