zoukankan      html  css  js  c++  java
  • Hibernate学习笔记(2)---hibernate核心文件

    配置hibernate.cfg.xml

    hibernate配置文件包含连接持久层与映射文件所需的基本信息。配置文件名默认为hibernate.cfg.xml.

    hibernate.cfg.xml文件配置

    <span style="font-size:18px;"><!-- 配置文件的DTD信息 -->
    <!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.MySQLDialect
    		</property>
    		<!-- 配置数据库连接URL -->
    		<property name="connection.url">
    			jdbc:mysql://localhost:3306/user
    		</property>
    		<!-- 配置数据库用户名 -->
    		<property name="connection.username">root</property>
    		<!-- 配置数据库密码 -->
    		<property name="connection.password">123456</property>
    		<!-- 配置数据库JDBC驱动 -->
    		<property name="connection.driver_class">
    			com.mysql.jdbc.Driver
    		</property>
    		
    		<property name="myeclipse.connection.profile">driver</property>
    		<!-- 底部输出sql语句 -->
    		<property name="show_sql">true</property>
    		<!-- 底部输出sql语句格式化 -->
    		<property name="hibernate.format_sql">true</property>
    		
    		<!-- 把配置文件导入核心文件 ,后面会写到 -->
    		<mapping resource="cn/dto/User.hbm.xml" />
    
    	</session-factory>
    
    </hibernate-configuration></span>
    

      

    hibernate映射文件配置(*.hbm.xml)

    持久化类的对象与关系数据库之间的映射关系通过.xml文件配置,通常命名为持久化类名.hbm.xml,这个文件一般放在持久化类对象相同路径下

    *.hbm.xml文件配置(一般有多少持久化类对象就需要配置多少配置文件)
    以User.hb,.xml文件配置举例
    User.hbm.xml
    <span style="font-size:18px;"><!-- 配置文件的DTD信息 -->
    <!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属性 :实体类的全路径(也就是User.java的路径)
    	table属性:数据库表的名字
     -->
        <class name="cn.dto.User" table="t_user" catalog="user">
        <!-- 配置实体类id与表id对应
        		hibernate要求实体类有一个属性问一值
        		id标签
        		name属性 实体类里面id的属性名
        		column name:表字段名称
         -->
            <id name="uid" type="java.lang.Integer">
            <!-- column name:表字段名称
            	generator 设置数据表id的增长策略
            	native 主键自增长
             -->
                <column name="uid" />
                <generator class="identity" />
            </id>
            
            <property name="username" type="java.lang.String">
                <column name="username" length="32" />
            </property>
            <property name="password" type="java.lang.String">
                <column name="password" length="32" />
            </property>
            <property name="address" type="java.lang.String">
                <column name="address" length="32" />
            </property>
        </class>
    </hibernate-mapping></span>
    

      

    配置文件扩展

    hibernate.cfg.xml配置C3P0连接池

    <span style="font-size:18px;"><!-- 设置c3p0连接池的最大连接数 -->
    		<property name="hibernate.c3p0.max_size">50</property>
    		<!-- 设置c3p0连接池的最小连接数 -->
    		<property name="hibernate.c3p0.min_size">1</property>
    		<!-- 设置c3p0连接池中连接的超时时长,超出时抛出异常,单位为毫秒 -->
    		<property name="hibernate.c3p0.timeout">1000</property>
    		<!-- 设置c3p0缓存statements的数量 -->
    		<property name="hibernate.c3p0.max_statements">60</property></span>
    

      

    更多的c3p0连接池配置,请参考hibernate的etc子目录的properties文件


    *.hbm.xml---集合的映射配置

    set,map, list集合配置

    <集合类映射元素>
    <集合外键>
    <j集合索引字段>
    <集合元素/>
    </集合类映射元素>
  • 相关阅读:
    [Git]01 如何安装和配置
    [ext4]09 磁盘布局
    [ext4]磁盘布局
    [ext4]01 磁盘布局
    [工具技巧] SecureCRT使用技巧 V1.0
    [内存管理]管理图解v0.1 v0.2 v0.3
    内核源码目录结构
    共享内存删除的安全“陷阱”
    基于header的一些常用指令详解
    18、前端知识点--自定义指令
  • 原文地址:https://www.cnblogs.com/durui/p/7580779.html
Copyright © 2011-2022 走看看