`
失落丶神话
  • 浏览: 7168 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用Hibernate进行简单查询

阅读更多

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进行数据查询

    Hibernate提供了一个简单易用的API来进行数据查询。主要通过`Session`接口的`find()`方法来执行查询。例如: ```java Session session = sessionFactory.openSession(); List&lt;User&gt; users = session.find("from ...

    hibernate多表联合查询

    使用HQL进行多表联合查询是非常直观的,我们可以直接使用`FROM`子句来指定要查询的表,然后使用`JOIN`子句来连接不同的表。示例如下: ```java // 假设Customer和Charge实体类已定义好 Session session = ...

    hibernate中的查询方式

    尽管Hibernate提供了一系列高级查询机制,但在某些情况下直接使用SQL查询仍然非常有用。 **特点:** - **直接性强:** 直接使用SQL查询,能够利用数据库本身的优化能力。 - **易理解:** 对于大多数开发者来说,...

    Hibernate的高级查询

    当我们需要进行更复杂的数据库查询时,Hibernate提供了丰富的高级查询功能,这正是“Hibernate的高级查询”这一主题的核心所在。 在Hibernate中,高级查询主要包括HQL(Hibernate Query Language)、Criteria API和...

    hibernateHQL关联查询

    ### Hibernate HQL 关联查询详解 #### 一、引言 在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM...

    hibernate里面的 两种查询

    - Criteria API 更加面向对象,适合于简单的查询,或者在不熟悉SQL语法的情况下使用。它也更适合于自动化测试,因为可以更容易地模拟和验证查询条件。 - HQL则在处理复杂查询,特别是涉及到多个表关联时,表现更出色...

    通用的hibernate查询

    【hibernate查询详解】 Hibernate,作为一款强大的Java对象...而分页查询是大数据量场景下的常用策略,Hibernate提供了简单的API来实现。理解并熟练掌握这些查询方式,将有助于我们在Java开发中更好地运用Hibernate。

    hibernate多表查询详解

    例如,通过`Criteria API`或`HQL`(Hibernate Query Language)进行多表联接查询,可以将查询结果转化为Object数组。这种方法简单直观,但缺乏类型安全,因为数组中的每个元素都是Object,需要在代码中进行强制类型...

    基于hibernate的简单留言本

    基于Hibernate的简单留言本是一个基本的Web应用程序,它使用Hibernate作为数据持久化层,用户可以通过该系统进行留言、查看留言以及回复等操作。这个系统展示了如何在实际项目中应用Hibernate来管理数据库交互。 ...

    一个Hibernate的简单实例

    除了基本的CRUD操作,Hibernate还支持复杂的查询功能,如JOIN、GROUP BY、HAVING等,可以使用HQL(Hibernate Query Language)或者Criteria API实现。例如,查询所有用户名为"testUser"的用户: ```java String hql...

    hibernate查询代码

    **正文** Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使得开发人员可以更加专注于业务逻辑而不是数据库交互。...希望这篇文章能帮助你更好地理解和使用Hibernate进行数据库查询。

    hibernate入门简单实例

    11. **Query对象**:Hibernate 5之后,推荐使用`Query`或`TypedQuery`进行HQL和Criteria查询,它们提供了更丰富的API,如设置参数、分页、排序等。 12. **映射文件(Mapping File)**:除了注解映射外,传统上还...

    hibernate 查询?Hibernate的HQL查询

    总结,Hibernate的HQL查询为开发者提供了强大且灵活的数据检索方式,使得在Java应用中操作数据库变得更加简单,同时提高了代码的可读性和可维护性。在实际开发中,熟练掌握HQL能极大地提升工作效率,特别是在处理...

    HQL是hibernate自己的一套查询

    根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...

    Hibernate查询方式代码示例

    **Hibernate查询方式详解** 在Java世界中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本教程将深入探讨Hibernate 3.x版本中的查询方式,包括基本查询、HQL(Hibernate Query ...

    hibernate查询详解

    本文将详细介绍Hibernate的五种查询方式,包括HQL查询、Criteria方法、动态查询DetachedCriteria、例子查询、SQL查询以及命名查询,以满足不同场景下的需求。 1. HQL查询: Hibernate Query Language(HQL)是一种...

    Hibernate中的查询:HQL、Criteria、原生SQl

    在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层数据...在实际开发中,通常会结合使用这三种查询方式,以充分利用Hibernate的灵活性和强大功能。

    hibernate关联查询 实例源码

    hibernate关联查询 实例源码 java web 如果不明白hibernate关联查询不明白的可以看看,保证马上学会,注释,数据库都有,很简单易学的源码,谢谢下载!

    Eclipse中Hibernate简单配置和使用

    Eclipse中Hibernate简单配置和使用 Eclipse中配置和使用Hibernate框架是Java开发中常见的数据库持久化解决方案。本文将通过详细的步骤介绍Eclipse中配置和使用Hibernate框架,并提供一个简单的示例实现。 ...

    hibernate02:session对象、hql查询、在线查询也叫对象查询、离线查询

    总结起来,`Hibernate02`的核心是理解并熟练运用`Session`对象进行数据库操作,掌握HQL以进行面向对象的查询,以及理解在线查询和离线查询的适用场景。这些知识点对于任何涉及Java持久化的开发项目都是至关重要的。...

Global site tag (gtag.js) - Google Analytics