笑看风云
一切从头开始
posts - 28, comments - 1, trackbacks - 0, articles - 2
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2008年12月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
(26)
C语言(1)
dwr(1)
hibernate(4)
Java(11)
javascript(5)
struts(1)
数据库(3)
随笔档案
(28)
2009年11月 (1)
2009年9月 (1)
2009年5月 (2)
2009年4月 (3)
2009年1月 (3)
2008年12月 (5)
2008年8月 (2)
2008年7月 (10)
2008年6月 (1)
文章档案
(2)
2008年7月 (2)
收藏夹
(3)
我的收藏(3)
搜索
积分与排名
积分 - 21683
排名 - 1647
最新评论
1. re: 把数字转换成中文货币表示
10001000.09 竟然输出
壹仟零壹仟圆零玖分
--笨牛
阅读排行榜
1. hibernate批量插入数据(5074)
2. 10秒后实现页面自动跳转(3186)
3. Hibernate配置文件(转载)(1450)
4. dwr session error问题(919)
5. 通用hibernateDAO(887)
评论排行榜
1. 把数字转换成中文货币表示(1)
2. js进行有效性验证(0)
3. 表单错误信息的显示(0)
4. 10秒后实现页面自动跳转(0)
5. JSP隐藏对象(0)
Hibernate配置文件(转载)
Posted on 2008-12-11 11:26
笑看风云
阅读(1450)
评论(0)
编辑
收藏
所属分类:
hibernate
<!--
标准的XML文件的起始行,version
=
'
1.0
'
表明XML的版本,encoding
=
'
gb2312
'
表明XML文件的编码方式
-->
<?
xml version
=
'
1.0
'
encoding
=
'
gb2312
'
?>
<!--
表明解析本XML文件的DTD文档位置,DTD是Document Type Definition 的缩写,即文档类型的定义,XML解析器使用DTD文档来检查XML文件的合法性。hibernate.sourceforge.net
/
hibernate
-
configuration
-
3
.0dtd可以在Hibernate3.
1
.3软件包中的src\org\hibernate目录中找到此文件
-->
<!
DOCTYPE hibernate
-
configuration PUBLIC
"
-//Hibernate/Hibernate Configuration DTD 3.0//EN
"
"
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
"
>
<!--
声明Hibernate配置文件的开始
-->
<
hibernate
-
configuration
>
<!--
表明以下的配置是针对session
-
factory配置的,SessionFactory是Hibernate中的一个类,这个类主要负责保存HIbernate的配置信息,以及对Session的操作
-->
<
session
-
factory
>
<!--
配置数据库的驱动程序,Hibernate在连接数据库时,需要用到数据库的驱动程序
-->
<
property name
=
"
hibernate.connection.driver_class
"
>
com.mysql.jdbc.Driver
</
property
>
<!--
设置数据库的连接url:jdbc:mysql:
//
localhost/hibernate,其中localhost表示mysql服务器名称,此处为本机, hibernate是数据库名-->
<
property name
=
"
hibernate.connection.url
"
>
jdbc:mysql:
//
localhost/hibernate</hibernate>
<!--
连接数据库是用户名
-->
<
property name
=
"
hibernate.connection.username
"
>
root
</
property
>
<!--
连接数据库是密码
-->
<
property name
=
"
hibernate.connection.password
"
>
123456
</
property
>
<!--
数据库连接池的大小
-->
<
property name
=
"
hibernate.connection.pool.size
"
>
20
</
property
>
<!--
是否在后台显示Hibernate用到的SQL语句,开发时设置为true,便于差错,程序运行时可以在Eclipse的控制台显示Hibernate的执行Sql语句。项目部署后可以设置为false,提高运行效率
-->
<
property name
=
"
hibernate.show_sql
"
>
true
</
property
>
<!--
jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速度越快,Fetch Size越小,读数据库的次数越多,速度越慢
-->
<
property name
=
"
jdbc.fetch_size
"
>
50
</
property
>
<!--
jdbc.batch_size是指Hibernate批量插入,删除和更新时每次操作的记录数。Batch Size越大,批量操作的向数据库发送Sql的次数越少,速度就越快,同样耗用内存就越大
-->
<
property name
=
"
jdbc.batch_size
"
>
23
</
property
>
<!--
jdbc.use_scrollable_resultset是否允许Hibernate用JDBC的可滚动的结果集。对分页的结果集。对分页时的设置非常有帮助
-->
<
property name
=
"
jdbc.use_scrollable_resultset
"
>
false
</
property
>
<!--
connection.useUnicode连接数据库时是否使用Unicode编码
-->
<
property name
=
"
Connection.useUnicode
"
>
true
</
property
>
<!--
connection.characterEncoding连接数据库时数据的传输字符集编码方式,最好设置为gbk,用gb2312有的字符不全
-->
<
property name
=
"
connection.characterEncoding
"
>
gbk
</
property
>
<!--
hibernate.dialect 只是Hibernate使用的数据库方言,就是要用Hibernate连接那种类型的数据库服务器。
-->
<
property name
=
"
hibernate.dialect
"
>
org.hibernate.dialect.MySQLDialect
</
property
>
<!--
指定映射文件为“hibernate
/
ch1
/
UserInfo.hbm.xml”
-->
<
mapping resource
=
"
org/mxg/UserInfo.hbm.xml
"
>
</
session
-
factory
>
</
hibernate
-
configuration
>
配置文件中映射元素详解
对象关系的映射是用一个XML文档来说明的。映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等。下面从一个映射的例子开始讲解映射元素,映射文件的代码如下。
<
?
xml version
=
"
1.0
"
?
>
<
!--
所有的XML映射文件都需要定义如下所示的DOCTYPE。
Hibernate会先在它的类路径(classptah)中搜索DTD文件。
--
>
<
!
DOCTYPE hibernate
-
mapping PUBLIC
"
-//Hibernate/Hibernate Mapping DTD 3.0//EN
"
"
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
"
>
<
!--
hibernate
-
mapping有几个可选的属性:
schema属性指明了这个映射的表所在的schema名称。
default
-
cascade属性指定了默认的级联风格 可取值有 none、save、update。
auto
-
import属性默认让我们在查询语言中可以使用非全限定名的类名 可取值有
true
、
false
。
package属性指定一个包前缀。
--
>
<hibernate
-
mapping schema
=
"
schemaName
"
default
-
cascade
=
"
none
"
auto
-
import
=
"
true
"
package
=
"
test
"
>
<
!--
用class元素来定义一个持久化类
--
>
<
class
name
=
"
People
"
table
=
"
person
"
>
<
!--
id元素定义了属性到数据库表主键字段的映射。
--
>
<id name
=
"
id
"
>
<
!--
用来为该持久化类的实例生成唯一的标识
--
>
<generator
class
=
"
native
"
/
>
<
/
id>
<
!--
discriminator识别器 是一种定义继承关系的映射方法
--
>
<discriminator column
=
"
subclass
"
type
=
"
character
"
/
>
<
!--
property元素为类声明了一个持久化的,JavaBean风格的属性
--
>
<property name
=
"
name
"
type
=
"
string
"
>
<column name
=
"
name
"
length
=
"
64
"
not
-
null
=
"
true
"
/
>
<
/
property>
<property name
=
"
sex
"
not
-
null
=
"
true
"
update
=
"
false
"
/
>
<
!--
多对一映射关系
--
>
<many
-
to
-
one name
=
"
friend
"
column
=
"
friend_id
"
update
=
"
false
"
/
>
<
!--
设置关联关系
--
>
<set name
=
"
friends
"
inverse
=
"
true
"
order
-
by
=
"
id
"
>
<key column
=
"
friend_id
"
/
>
<
!
—一对多映射
--
>
<one
-
to
-
many
class
=
"
Cat
"
/
>
<
/
set>
<
/
class
>
<
/
hibernate
-
mapping>
组件应用的方法
组件有两种类型,即组件(component)和动态组件(dynamic
-
component)。在配置文件中,component元素为子对象的元素与父类对应表的字段建立起映射关系。然后组件可以声明它们自己的属性、组件或者集合。component元素的定义如下所示:
<component name
=
"
propertyName
"
class
=
"
className
"
insert
=
"
true|false
"
upate
=
"
true|false
"
access
=
"
field|property|ClassName
"
>
<property
..
/
>
<many
-
to
-
one
.
/
>
..
<
/
component>
在这段代码中,name是指属性名,class是类的名字,insert指的是被映射的字段是否出现在SQL的INSERT语句中,upate指出被映射的字段是否出现在SQL的UPDATE语句中,access指出访问属性的策略。
Hiebernate的基本配置
Hibernate的数据库连接信息是从配置文件中加载的。Hibernate的配置文件有两种形式:一种是XML格式的文件,一种是properties属性文件。properties形式的配置文件默认文件名是hibernate.properties,一个properties形式的配置文件内容如下所示:
#指定数据库使用的驱动类
hibernate.connection.driver_class
=
com.mysql.jdbc.Driver r
#指定数据库连接串
hibernate.connection.url
=
jdbc:mysql:
//
localhost:3306/db
#指定数据库连接的用户名
hibernate.connection.username
=
user
#指定数据库连接的密码
hibernate.connection.password
=
password
#指定数据库使用的方言
hibernate.dialect
=
net.sf.hibernate.dialect.MySQLDialect
#指定是否打印SQL语句
hibernate.show_sql
=
true
文章出处:http:
//
www.diybl.com/course/3_program/java/javajs/200886/134789.html
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
Hibernate3缓存管理
c3p0配置
Hibernate配置文件(转载)
通用hibernateDAO
Powered by:
BlogJava
Copyright © 笑看风云