zoukankan      html  css  js  c++  java
  • 如何写一个SSH项目(二)hibernate.xml配置

    我只是知识的搬运工。
    
    (转载)
    
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
    <!-- 
    <hibernate-mapping>一般不去配置,采用默认即可。
    default-cascade="none":默认的级联风格,表与表联动。
    default-lazy="true":默认延迟加载
    -->
    <hibernate-mapping>
    
    <!-- 
    <class>:使用class元素定义一个持久化类。
    name="cn.javass.user.vo.UserModel":持久化类的java全限定名;
    table="tbl_user":对应数据库表名;
    mutable="true":默认为true,设置为false时则不可以被应用程序更新或删除;
    dynamic-insert="false":默认为false,动态修改那些有改变过的字段,而不用修改所有字段;
    dynamic-update="false":默认为false,动态插入非空值字段;
    select-before-update="false":默认为false,在修改之前先做一次查询,与用户的值进行对比,有变化都会真正更新;
    optimistic-lock="version":默认为version(检查version/timestamp字段),取值:all(检查全部字段)、dirty(只检查修改过的字段)、
    none(不使用乐观锁定),此参数主要用来处理并发,每条值都有固定且唯一的版本,版本为最新时才能执行操作;
    -->
    <class name="cn.javass.user.vo.UserModel" table="tbl_user" dynamic-insert="true" dynamic-update="true" optimistic-lock="version">
    
    <!-- 
    <id>:定义了该属性到数据库表主键字段的映射。
    name="userId":标识属性的名字;
    column="userId":表主键字段的名字,如果不填写与name一样;
    -->
    <id name="userId">
    <!-- <generator>:指定主键由什么生成,推荐使用uuid,assigned指用户手工填入。 -->
    <generator class="uuid"/>
    </id>
    
    <!-- 
    <version/>:使用版本控制来处理并发,要开启optimistic-lock="version"和dynamic-update="true"。
    name="version":持久化类的属性名,column="version":指定持有版本号的字段名;
    -->
    <version name="version" column="version"/>
    
    <!-- 
    <property>:为类定义一个持久化的javaBean风格的属性。
    name="name":标识属性的名字,以小写字母开头;
    column="name":表主键字段的名字,如果不填写与name一样;
    update="true"/insert="true":默认为true,表示可以被更新或插入;
    -->
    <property name="name" column="name" />
    <property name="sex" column="sex"/>
    <property name="age" column="age"/>
    
    <!-- 
    组件映射:把多个属性打包在一起当一个属性使用,用来把类的粒度变小。
    <component name="属性,这里指对象">
    <property name="name1"></property>
    <property name="name2"></property>
    </component>
    -->
    
    <!-- 
    <join>:一个对象映射多个表,该元素必须放在所有<property>之后。
    <join table="tbl_test:子表名">
    <key column="uuid:子表主键"></key>
    <property name="name1:对象属性" column="name:子表字段"></property>
    </join>
    -->
    
    </class>
    
    </hibernate-mapping>
    <?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="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
            <property name="hibernate.connection.username">scott</property>
            <property name="hibernate.connection.password">tiger</property>
            <property name="show_sql">true</property>
            <!-- 使用c3po连接池  配置连接池提供的供应商-->
            <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
            <!--在连接池中可用的数据库连接的最少数目 -->
            <property name="c3p0.min_size">5</property>
            <!--在连接池中所有数据库连接的最大数目  -->
            <property name="c3p0.max_size">20</property>
            <!--设定数据库连接的过期时间,以秒为单位,
            如果连接池中的某个数据库连接处于空闲状态的时间超过了timeout时间,就会从连接池中清除 -->
            <property name="c3p0.timeout">120</property>
             <!--每3000秒检查所有连接池中的空闲连接 以秒为单位-->
            <property name="c3p0.idle_test_period">3000</property>
            <!-- 设置自动提交 -->
            <property name="connection.autocommit">true</property>
            
            <mapping resource="com/chinasoft/model/job/SysJob.hbm.xml"/>
            <mapping resource="com/chinasoft/model/login/SysLogin.hbm.xml"/>
            <mapping resource="com/chinasoft/model/user/SysAdmin.hbm.xml"/>
            <mapping resource="com/chinasoft/model/user/SysUser.hbm.xml"/>
            <mapping resource="com/chinasoft/model/main/SysMain.hbm.xml"/>
            <mapping resource="com/chinasoft/model/product/Product.hbm.xml"/>
            <mapping resource="com/chinasoft/model/product/ProductQuery.hbm.xml"/>
            <mapping resource="com/chinasoft/model/product/ProductSort.hbm.xml"/>
            <mapping resource="com/chinasoft/model/reply/CommentReply.hbm.xml"/>
            <mapping resource="com/chinasoft/model/comment/ProductComment.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>
  • 相关阅读:
    hdu 5007 水题 (2014西安网赛A题)
    hdu 1698 线段树(成段替换 区间求和)
    poj 3468 线段树 成段增减 区间求和
    hdu 2795 公告板 (单点最值)
    UVaLive 6833 Miscalculation (表达式计算)
    UVaLive 6832 Bit String Reordering (模拟)
    CodeForces 124C Prime Permutation (数论+贪心)
    SPOJ BALNUM (数位DP)
    CodeForces 628D Magic Numbers (数位DP)
    POJ 3252 Round Numbers (数位DP)
  • 原文地址:https://www.cnblogs.com/daweige/p/8183050.html
Copyright © 2011-2022 走看看