使用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

 

猜你喜欢

转载自15712193258.iteye.com/blog/2330093