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

1、数据库连接池

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

使用C3P0连接池:

l 拷贝c3p0的jar包到classpath(构建路径)。

l 在hibernate.cfg.xml中配置:

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

2、管理Session的生命周期

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

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

第一步:

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

第二步:

 //每次都是从当前线程上获取Session
public static Session getCurrentSession(){
return factory.getCurrentSession();//它是每次都从当前线程上获取
}

最新文章

  1. 从零开始编写自己的C#框架(2)——开发前准备工作
  2. Yii常用路径说明
  3. M5: 使用StorageFile
  4. Android新浪微博客户端(一)——主框架搭建
  5. 谋哥:研究App排行榜浮出的神器
  6. Hystrix 使用与分析
  7. 跨站脚本攻击xss学习
  8. Android-Java-静态变量与静态方法内存图
  9. CentOS乱码解决方法
  10. Android灯光系统_编写HAL_lights.c【转】
  11. P2837晚餐队列安排
  12. BarTender出现3702错误怎么办
  13. 团队项目第六周——Alpha阶段项目复审
  14. Final冲刺贡献分
  15. DOS建立带点的文件夹
  16. HDU-4550-贪心
  17. ES6系列_9之对象
  18. react-router里使用history
  19. 彻底领悟javascript中的exec与match方法
  20. iphone系统更新 3002错误

热门文章

  1. Java WeakReference的理解与使用
  2. Windows Azure Website类别、限制条件
  3. html样式表极大地提高了工作效率
  4. ASP.NET线程与异步
  5. Android studio中出现非法字符时的部分解决方法
  6. 教你50招提升ASP.NET性能(二):移除不用的视图引擎
  7. ThinkPHP CURD方法盘点:table方法
  8. 大作业 XXX大学 课程管理系统
  9. [Practical Git] Diagnose which commit broke something with git bisect
  10. Object.defineProperty vs __defineGetter__ vs normal