zoukankan      html  css  js  c++  java
  • Java实战之02Hibernate-07与效率性能相关配置

    十四、其他HIbernate配置(与效率,性能相关)

    1、数据库连接池

    Hibernate有默认的连接池,性能有问题,不适合实际应用,适合学习阶段。DriverManagerConnectionProvider

    使用C3P0连接池:

    l 拷贝c3p0jar包到classpath(构建路径)。

    l 在hibernate.cfg.xml中配置:

     1 <!-- 1、数据库连接的基本信息 -->
     2         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
     3         <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/ee0413_hibernate_day34</property>
     4         <property name="hibernate.connection.username">root</property>
     5         <property name="hibernate.connection.password">1234</property>
     6         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 配置数据库方言 -->
     7         
     8         <!-- 数据库连接池的配置:hibernate使用默认连接池是C3P0 
     9             配置步骤:
    10                 1、导入连接池必须的jar包
    11                 2、告知hibernate,连接池的提供商
    12         -->
    13         <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>

    2、管理Session的生命周期

    原则:Session不能多线程共享。一个线程最好有一个Session

    实现方式:Hibernate.cfg.xml中配置,把session绑定到当前线程上

    第一步:

    1 <!-- 把Session绑定到当前线程上 -->
    2         <property name="hibernate.current_session_context_class">thread</property>

    第二步:

    1 //每次都是从当前线程上获取Session
    2     public static Session getCurrentSession(){
    3         return factory.getCurrentSession();//它是每次都从当前线程上获取
    4     }
  • 相关阅读:
    bootstrap 模态框日期控件datepicker被遮住问题的解决
    (转)Jetty实战之 安装 运行 部署
    (转)Redis研究(一)—简介
    在jboss上部署web应用
    webSphere
    Weblogic部署项目三种方式
    js构造函数详解
    范仁义js课程---51、作用域实例
    javascript疑难问题---7、使用var和不使用var声明变量的区别
    范仁义js课程---50、函数作用域
  • 原文地址:https://www.cnblogs.com/minihouseCoder/p/5611184.html
Copyright © 2011-2022 走看看