2.Hibernate配置文件

一.Hibernate的全局配置文件详解

1. hibernate-configuration元素

hibernate-configuration节点是全局配置文件的根节点用来定位映射文档的位置。

2.session-factory元素

session-factory节点对应着SessionFactory对象也就是说在session-factory节点配置的属性都是对应着SessionFactory对象的属性,当Hibernate扫描调用了Configuration对象加载配置文件时Configuration对象会读取这些配置,创建一个SessionFactory对象。

3.session-factory元素下的必要配置

1.数据库连接配:

<!-- 数据库驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 数据库地址 -->
<property name="hibernate.connection.url">jdbc:mysql:///hibernatetest</property>
<!-- 数据库用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 数据库密码 -->
<property name="hibernate.connection.password">a131421a</property>
<!-- 设置SQL方言 --> 
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
2.控制台打印信息配置:
<!-- 将所有生成的SQL打印到控制台  -->
<property name="hibernate.show_sql">true</property>
<!-- 在日志和控制台打印格式化后的SQL -->
<property name="hibernate.format_sql">true</property>
3.Hibernate表操作的配置:

create 自动建表.每次框架运行都会创建新的表.以前表将会被覆盖,表数据会丢失.(开发环境中测试使用)
create-drop 自动建表.每次框架运行结束都会将所有表删除.(开发环境中测试使用)
update(推荐使用) 自动生成表.如果已经存在不会再生成.如果表有变动.自动更新表(不会删除任何数据).
validate 校验.不自动生成表.每次启动会校验数据库中表是否正确.校验失败.

<property name="hibernate.hbm2ddl.auto">update</property>
4.引用ORM配置文件:
<mapping resource="com/lin/pojo/Person.hbm.xml"/>

二.Hibernate的ORM配置文件详解

1.hibernate-mapping元素

hibernate-mapping元素是ORM配置文件的根元素

2.class元素

class元素配置实体与表的关系

3.class元素下的id元素
id元素:配置主键映射的属性                      
	name属性:对应实体类的属性名                    
 	column属性(可选):填写表中对应实体属性的列名。默认值:列名会默认使用属性名                      
  	type属性(可选):填写列的数据类型,hibernate会自动检查实体的属性类型. 每个类型有三种填法:java类型||hibernate类型||数据库类型                      
  	not-null属性(可选):配置该属性是否不能为空,默认值:false                      
  	length属性(可选):配置数据库中列的长度,默认值:使用数据库类型的最大长度
	id元素下的generator元素:主键生成策略,就是每条记录录入时,主键的生成规则 
 	identity:主键自增,由数据库来维护主键值,录入时不需要指定主键  
 	sequence:Oracle中的主键生成策略                                
 	increment:主键自增,由hibernate来维护,每次插入前都会查询表中主键的最大值然后+1来作为主键的最大值                                
 	hilo:高低位算法,主键自增,由Hibernate来维护                               
  	native:hilo、sequence、 identity方式,自动三选一策略                                
  	uuid:产生随机字符串作为主键,主键类型必须为varchar类型                                
  	assigned:自然主键生成策略,Hibernate不会管理主键值,由开发人员自己录入   
4.class元素下的property元素
  property元素:建立实体类其他属性与表中字段的关系                        
  name属性:填写属性名             
  column属性(可选):填写表中对应实体属性的列名。默认值:列名会默认使用属性名                 
  type属性(可选):填写列的数据类型,hibernate会自动检查实体的属性类型.每个类型有三种填法:java类型||hibernate类型||数据库类型             
  not-null属性(可选):配置该属性是否不能为空,默认值:false             
  length属性(可选):配置数据库中列的长度,默认值:使用数据库类型的最大长度    
5.ORM配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"   
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">  
<hibernate-mapping>     
 	<class name="com.lin.pojo.Person" table="person">           
	    <id name="id" column="id">                           
	    	<generator class="native"></generator>           	
	    </id>                             
	    <property name="name" column="name"></property>           
	    <property name="age" column="age"></property>           
	    <property name="birthday" column="birthday"></property>    
	 </class>  
</hibernate-mapping>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值