hibernate配置文件,映射文件

原创 2014年03月07日 14:51:34

hibernate:
   优点和缺点
     优点:
        *  数据缓存
        *  面向对象编程
        *  代码操作比较简单
     缺点:
        *  大量的数据条件下不适合用hibernate
        *  程序员对于hibernate生成的sql语句不可控
           程序员不能干预hibernate生成sql语句,
           所以在sql语句优化比较高的项目中,
           hibernate也是不适合的


jdbc的优点和缺点:
   *  jdbc的优点
      *  效率要高
      *  Connection pool
   *  缺点
      *  代码比较繁琐
          try{
          }catch(){
          }
          finally{
             //做各种关闭操作
          }
       *  data pool



hibernate主配置文件

<?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">
<hibernate-configuration>
	<!-- 是用来描述数据库的连接 -->
	<session-factory>
		<!-- 
			驱动
		-->
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<!-- 
			url
		-->
		<property name="connection.url">
			jdbc:mysql://localhost:3306/数据库名
		</property>
		<!-- 
			用户名
		-->
		<property name="connection.username">root</property>
		<!-- 
			密码
		-->
		<property name="connection.password">root</property>
		<!-- 
			hibernate针对建表的操作
			update  如果有表,检查表的结构,如果没有则创建
			create-drop 启动hibernate创建表,结束hibernate删除表
			create  每次启动都重新创建表
			validate 每次启动都检查表的结构
		-->
		<property name="hbm2ddl.auto">update</property>
               <!-- 
                  在控制台显示sql语句
                -->
                <property name="show_sql">true</property>
                <!--hibernate持久化类的映射文件-->
		<mapping
			resource="cn/domain/Person.hbm.xml" />
	</session-factory>
</hibernate-configuration>



持久化类的映射文件

<?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">
<hibernate-mapping>
    <!-- 
        class元素是用来描述持久化类
           name属性  类的全名
            table 该类对应的表名  可以不写,如果不写默认值就是类名
            catalog 数据库的名字  一般不用写
     -->
    <class name="cn.domain.Person" table="person">
        <!-- 
            主键
              name描述的是属性的名称
              column  数据库的字段的名称
              type    类型
              length  长度
         -->
        <id name="pid" type="java.lang.Long" length="5">
            <column name="pid"></column>
            <!-- 
                主键的产生器
                    increment 由hibernate产生
             -->
            <generator class="increment"></generator>
        </id>
        <!-- 
            property是用来描述一般属性
         -->
        <property name="pname" type="java.lang.String" length="20">
            <!-- 
                column可以不写,如果不写,默认属性的名称
             -->
            <column name="pname"></column>
        </property>
        <property name="psex" type="java.lang.String" length="5"></property>
    </class>
</hibernate-mapping>

在映射文件中的主键产生器的类型

主键的生成机制
 *    *  increment
 *        效率是比较低的,但是主键的值是连续的,hibernate内部会去查询该表中的主键的最大值,然后把最大值加1 * 
      *  identity
 *        根据底层的数据库的自增生成,效率比较高,但是主键的值不连续,注意,当采用这种机制时,数据库中主键要选择自增类型。
 *    *  assigned
 *        手动赋值
 *    *  uuid
 *    *  sequence 

java对应的持久化类该持久化类中一定要保证有一个不带参数的构造方法,原因是当通过hibernate框架反射出持久化类对象时,会调用到不带参数的构造方法。


版权声明:本文为博主原创文章,未经博主允许不得转载。

Hibernate配置文件与映射文件详解

Hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架。 我们先看一下官方文档所给出的,Hibernate 体系结构的高层视图: 其中PO=...
  • wangchuanqi1234
  • wangchuanqi1234
  • 2016年04月12日 10:51
  • 12920

Hibernate使用注解映射取代映射文件

在编写hibernate的时候,需要将实体类映射到数据库中的表。通常需要一个配置文件(hibernate.cfg.xml),一个实体类(XX.Java),还有一个映射文件(XX.hbm.xml)。从J...
  • bestcxx
  • bestcxx
  • 2016年06月08日 16:43
  • 1444

【Hibernate框架学习】:Hibernate进阶之详解Hibernate配置文件和对象关系映射配置文件

Hibernate核心配置文件               我们先来看一个比较常见的hibernate.cfg.xml配置文件: ...
  • erlian1992
  • erlian1992
  • 2016年12月06日 19:16
  • 1075

自动生成hibernate配置文件和对象关系映射文件

一、根据数据表生成对应的实体和注解(GenEntityOracle.java) package com.ant.tool; import java.io.File; import java.io.F...
  • WMY1230
  • WMY1230
  • 2016年11月29日 10:56
  • 1106

Mapper映射文件配置

在mapper文件中,以mapper作为根节点,其下面可以配置的元素节点有: select, insert, update, delete, cache, cache-ref, resultMap, ...
  • H12KJGJ
  • H12KJGJ
  • 2017年04月23日 19:46
  • 380

利用eclipse工具反向生成hibernate配置文件,domain类和映射文件

首先要意识到eclipse是一个集成开发环境,要想实现更多的功能,就必须下载好相关的插件 1.下载插件 点击help->install new software,输入相应的网址(对应的自行百度),这里...
  • syz_is_rookie
  • syz_is_rookie
  • 2017年07月19日 18:59
  • 465

Hibernate学习笔记(一) — hibernate的配置文件简介与执行原理

一、初识Hibernate 1.JDBC的缺点: 1).编写代码的时候过于繁琐,try和catch比较多 2).没有做数据缓存 3).不是面向对象编程 4).sql语句固定,可移植性差 JDBC的优点...
  • u013497151
  • u013497151
  • 2015年08月05日 20:52
  • 959

Hibernate-配置文件-映射文件.hbm.xml

简介:POJO 类和数据库的映射文件*.hbm.xml POJO 类和关系数据库之间的映射可以用一个XML文档来定义。 通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之...
  • cuigaochong
  • cuigaochong
  • 2015年10月22日 18:32
  • 2378

intellij配置hibernate自动生成hbm.xml文件

在使用intellij开发Java web项目的时候,会遇到hibernate中hbm.xml文件不知道在哪里创建和生成的问题,其实intellij自动生成的配置文件虽然配置有点麻烦,但是生成确实很牛...
  • u014520745
  • u014520745
  • 2016年05月14日 21:49
  • 11185

Hibernate学习笔记--映射配置文件详解

参考资料: http://blog.163.com/hzd_love/blog/static/13199988120108265317988/ http://www.cnblogs.com...
  • m0_37683661
  • m0_37683661
  • 2017年12月12日 08:45
  • 21
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate配置文件,映射文件
举报原因:
原因补充:

(最多只允许输入30个字)