hibernate环境搭建与小案例
一、开发环境
Win8 + jdk1.7 + MyEclipse + Tomcat5.0 + MySQL
说明:其实Hibernate是非常独立的框架,根本不需要MyEclipse,Eclipse,Tomcat,Log4J等,他们只不过是能满足我们其他的需求,才把他们引进来的。
二、下载文件
你需要Java SDK、Hibernate包、和JDBC
Driver。
1、Hibernate包下载地址:
http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc
2、JDBC Driver根据你的数据库来定,一般database官网都有。Hibernate支持常用的数据库,比如 mysql, Oracle等等。这两个数据库是现在比较常用的,都有JDBC
Driver:
oracle JDBC Driver下载地址(下载前必须同意Oracle协议书)
http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html
MySQL JDBC Driver下载地址
http://dev.mysql.com/downloads/connector/j/3.0.html
三.引入jar包
hibernate3.jar hibernate核心jar文件
+required (6个)
+jpa(事务处理)
+数据库驱动包
然后全选右键Build Path
四.构建实体类和对应的数据库表
实体类
数据库表
五.完成实体映射与配置数据库
1.提供Student.hbm.xml文件,完成实体类映射
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.oracle.entiy">
<!-- 加载类 -->
<class name="Student" table="student">
<!-- 加载主键 -->
<id name="id" column="stu_id">
<generator class="sequence">
<!--给主键添加序列-->
<param name="sequence">stu_s</param>
</generator>
</id>
<!-- 非主键 -->
<property name="name" column="stu_name" />
<property name="age" column="stu_age"/>
</class>
</hibernate-mapping>
2将Student.hbm.xml文件加入到hibernate.cfg.xml文件中
注:hibernate.cfg.xml配置文件当前项目都要用到,不适宜放在某个包下面,应与src同级。
>连接数据库配置
>加载所有的映射
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- 通常,一个session-factory节点代表一个数据库 -->
<session-factory>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@172.20.20.31:1521:XE</property>
<property name="hibernate.connection.username">dnl</property>
<property name="hibernate.connection.password">orcl</property>
<!-- oracle方言 不同数据库对应不同方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<!-- 打印sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- mapping files -->
<mapping resource="com/oracle/entiy/student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
六测试
运行结果