• hibernate配置文件hibernate.cfg.xml的详细解释



    <!--标准的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软件包中的srcorghibernate目录中找到此文件--> 
    <!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>    
      
      
      
      <bean id="dataSource"  
      class="org.apache.commons.dbcp.BasicDataSource"  
      destroy-method="close">  
    //连接驱动    
      <property name="driverClassName" value="${jdbc.driverClassName}" />  
    //连接url,    
    <property name="url" value="${jdbc.url}" />  
    //连接用户名    
      <property name="username" value="${jdbc.username}" />  
    //连接密码    
      <property name="password" value="${jdbc.password}" />  
    </bean>  
      
    <bean id="hbSessionFactory"  
      class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
      <property name="dataSource" ref="dataSource" />  
      <property name="configLocation">  
    //hibernate配置文件位置    
      <value>WEB-INF/hibernate.cfg.xml </value>  
      </property>  
      <property name="configurationClass"  
      value="org.hibernate.cfg.AnnotationConfiguration" />  
      <property name="hibernateProperties">  
      <props>  
      //针对oracle数据库的方言,特定的关系数据库生成优化的SQL    
        <prop key="hibernate.dialect">  
        org.hibernate.dialect.OracleDialect    
        </prop>  
      //选择HQL解析器的实现    
        <prop key="hibernate.query.factory_class">  
        org.hibernate.hql.ast.ASTQueryTranslatorFactory    
        </prop>  
        //是否在控制台打印sql语句    
        <prop key="hibernate.show_sql">true </prop>  
        //在Hibernate系统参数中hibernate.use_outer_join被打开的情况下,该参数用来允许使用outer join来载入此集合的数据。    
        <prop key="hibernate.use_outer_join">true </prop>  
      //默认打开,启用cglib反射优化。cglib是用来在Hibernate中动态生成PO字节码的,打开优化可以加快字节码构造的速度    
      <prop key="hibernate.cglib.use_reflection_optimizer">true </prop>  
      //输出格式化后的sql,更方便查看    
      <prop key="hibernate.format_sql">true </prop>  
      //“useUnicode”和“characterEncoding”决定了它是否在客户端和服务器端传输过程中进行Encode,以及如何进行Encode    
      <prop key="hibernate.connection.useUnicode">true </prop>  
      //允许查询缓存, 个别查询仍然需要被设置为可缓存的.    
      <prop key="hibernate.cache.use_query_cache">false </prop>  
      <prop key="hibernate.default_batch_fetch_size">16 </prop>  
        //连接池的最大活动个数    
        <prop key="hibernate.dbcp.maxActive">100 </prop>  
      //当连接池中的连接已经被耗尽的时候,DBCP将怎样处理(0 = 失败,1 = 等待,2  =  增长)    
        <prop key="hibernate.dbcp.whenExhaustedAction">1 </prop>  
        //最大等待时间    
        <prop key="hibernate.dbcp.maxWait">1200 </prop>  
        //没有人用连接的时候,最大闲置的连接个数    
        <prop key="hibernate.dbcp.maxIdle">10 </prop>  
        ##以下是对prepared statement的处理,同上。    
        <prop key="hibernate.dbcp.ps.maxActive">100 </prop>  
        <prop key="hibernate.dbcp.ps.whenExhaustedAction">1 </prop>  
        <prop key="hibernate.dbcp.ps.maxWait">1200 </prop>  
        <prop key="hibernate.dbcp.ps.maxIdle">10 </prop>  
      </props>  
      </property>  
    </bean>  

  • 相关阅读:
    改造vant日期选择
    css3元素垂直居中
    npm综合
    (转)网页加水印方法
    Mac下IDEA自带MAVEN插件的全局环境配置
    隐藏注册控件窗口
    High performance optimization and acceleration for randomWalk, deepwalk, node2vec (Python)
    How to add conda env into jupyter notebook installed by pip
    The Power of WordNet and How to Use It in Python
    背单词app测评,2018年
  • 原文地址:https://www.cnblogs.com/daniell003/p/3355175.html
Copyright © 2020-2023  润新知