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