文档章节

手动配置Hibernate的方法

猴亮屏
 猴亮屏
发布于 2014/08/22 16:52
字数 638
阅读 304
收藏 8

前言:一直习惯用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>

© 著作权归作者所有

共有 人打赏支持
上一篇: java JDBC 连接MySql
下一篇: 电吉他音阶系统
猴亮屏

猴亮屏

粉丝 36
博文 531
码字总数 57346
作品 4
北京
Android工程师
私信 提问
Spring HibernateTemplate 事务处理

在谈Spring事务管理之前我们想一下在我们不用Spring的时候,在Hibernate中我们是怎么进行数据操作的。在Hibernate中我们每次进行一个操作的的时候我们都是要先开启事务,然后进行数据操作,然...

JackMo2015
2016/11/29
24
0
Spring对Hibernate事务管理【转】

Spring对Hibernate事务管理【转】 原文引自 http://express.ruanko.com/ruanko-express42/tech-overnight2.html 每次带班,讲到Spring事务这一块的时候,大家总是有很多的疑问,其实Spring事...

xiaml
2016/02/18
46
0
hibernate关于session的关闭问题

1、getCurrentSession()与openSession()的区别? 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession(),创建的session则不会 采用getCurrentSession()创建的sessi...

F风向标F
2015/03/15
1K
0
spring 事务的理解和控制剥离实践

主要是 公司的项目里面 的 一个 service 方法对事务有着特殊的要求。比如: 有 A , B , C 3个service 方法, A 方法里面会执行到 B ,C 的方法。 但是要求, C方法如果出现了异常的时候, 让事...

之渊
2017/10/23
0
0
Hibernate 与mybatis的区别

首先简单介绍下两者的概念: Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。 Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间...

爪哇程序猿
2015/09/23
261
1

没有更多内容

加载失败,请刷新页面

加载更多

如何有效的背单词

转眼间到了大三快要结束了。英语四级考了三次了,每次都220多分。成绩很稳定,但离四级线还有200多分。学校规定如果过不了四级线,就拿不到学士学位证。没有学位证就找不到好工作,找不到好工...

我是菜鸟我骄傲
18分钟前
0
0
导出表格

https://blog.csdn.net/hhzzcc_/article/details/80419396

Js_Mei
42分钟前
0
0
Ubuntu中安装Elasticsearch

1.安装jre elasticsearch是使用java开发的搜索引擎,因此其运行依赖于java runtime environment,我们在这里不使用Oracel的官方jre,改为使用open-jre。 运行环境: ubuntu:18.04 jre:openj...

cloes
59分钟前
0
0
nginx rails 详细站点配置入门教程

Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,R...

xiangyunyan
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部