前言:一直习惯用MyEclipse自动生成Hibernate,但是对手动配置一直不甚了解,都不好意思说自己是搞java的。所以赶紧复习了一下手动配置,并记录在此,以便常回来看看!
第一步:搭建环境
在Hibernate主页下载hibernate-distribution-3.3.2.GA-dist.zip(这个很难找,一定要耐心!),解压后把根目录的hibernate3.jar和required文件夹里的所有的包、数据库驱动JAR,复制到WEB-INFO的lib里。
然后在项目里build-path刚才复制过来的JAR。
第二步:构建映射
首先创建与数据库表字段对应的实体类(持久化类),必须实现java.io.Serializable接口
然后在所有实体类的同一个包下,创建映射文件,如下:
Hibernate配置文件XXX.cfg.xml示例:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.hibernate.Hebei" table="HEBEI" schema="ORCL"> <!--name表示实体类全名,table表示对应表名--> <id name="postcode" type="java.lang.String"> <column name="POSTCODE" length="10" /> <!--id及其子元素column表示实体类的属性postcode对应表中的主键POSTCODE--> <generator class="native" /> <!--用于指定主键的生成策略,有以下值可选: //1.native:由Hibernate根据数据库自行判断生成哪种策略。 //2.increment:对类型为long、short、int的主键,以自增长的方式生成主键的值,主键将每次递增1。 //3.identity:对于SQL Server、DB2、MySQL等支持标识列的数据库,可使主键自增长,但需把主键设为标识列。 //4.sequence:对于Oracle、DB2等支持序列的数据库,可实现主键自增长,需要通过param传入序列名字。 //5.assigned:主键由应用程序负责生成,无需Hibernate参与。 --> </id> <property name="area" type="java.lang.String"> <!-- 定义实体类中的属性和数据库表中的字段的对应关系 --> <column name="AREA" length="100" not-null="true"> <comment>考区</comment> </column> </property> </class> </hibernate-mapping>
第三步:配置运行环境
在src中创建Hibernate的配置文件XXX.cfg.xml,如下:
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="dialect"><!-- 用于配置使用的数据库类型 --> org.hibernate.dialect.Oracle9Dialect </property> <property name="connection.url"> jdbc:oracle:thin:@localhost:1521:orcl </property> <property name="connection.username">system</property> <property name="connection.password">orcl</property> <property name="connection.driver_class"> oracle.jdbc.driver.OracleDriver </property> <property name="myeclipse.connection.profile">本机</property> <property name="show_sql">true</property><!-- 是否显式sql语句,如过true就会在控制台显式sql语句 --> <mapping resource="com/hibernate/Hebei.hbm.xml" /><!-- 声明映射文件的位置 --> </session-factory> </hibernate-configuration>
时间: 2024-10-12 15:30:44