1、Spring通过dbcp配置dataSource来配置sessionFactory

  jdbc.properties

#  oracle JDBC
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc\:oracle\:thin\:@localhost\:1521\:orcl
jdbc.username=admin
jdbc.password=admin
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.show_sql=true
hibernate.format_sql=false
jdbc.validationQuery=SELECT sysdate from dual
jdbc.testOnBorrow=true

applicationContext.xml

<!-- jdbc.properties文件读取 -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="true">
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <property name="ignoreResourceNotFound" value="true" />
        <property name="locations">
            <list>
                <value>classpath:/jdbc.properties</value>
            </list>
        </property>
    </bean>

<!-- 数据源配置 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <!-- 设置JDBC驱动名称 -->
        <property name="driverClassName" value="${jdbc.driver}" />
        <!-- 设置JDBC连接URL -->
        <property name="url" value="${jdbc.url}" />
        <!-- 设置数据库用户名 -->
        <property name="username" value="${jdbc.username}" />
        <!-- 设置数据库密码 -->
        <property name="password" value="${jdbc.password}" />

<!-- 设置连接池初始值 -->
        <property name="initialSize" value="3" />
        <!-- 设置连接池最大值 -->
        <property name="maxActive" value="60" />
        <!-- 设置连接池最小空闲值 -->
        <property name="minIdle" value="2" />
        <!-- 设置连接池最大空闲值 -->
        <property name="maxIdle" value="5" />
        <!-- 设置验证SQL -->
        <property name="validationQuery" value="${jdbc.validationQuery}" />
        <!-- 设置取出连接时验证其是否有效 -->
        <property name="testOnBorrow" value="${jdbc.testOnBorrow}" />
    </bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <!-- 配置Hibernate拦截器,自动填充数据的插入、更新时间 -->
        <property name="entityInterceptor" ref="entityInterceptor" />
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <!-- 设置数据库方言 -->
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <!--
                    设置自动创建|更新|验证数据库表结构 <prop key="hibernate.hbm2ddl.auto">update</prop>
                -->
                <!-- 输出SQL语句到控制台 -->
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <!-- 格式化输出到控制台的SQL语句 -->
                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
                <!-- 是否开启二级缓存 -->
                <prop key="hibernate.cache.use_second_level_cache">false</prop>
                <!-- 配置二级缓存产品 -->
                <prop key="hibernate.cache.provider_class">org.hibernate.cache.OSCacheProvider</prop>
                <!-- 是否开启查询缓存 -->
                <prop key="hibernate.cache.use_query_cache">false</prop>
                <!-- 数据库批量查询数 -->
                <!-- <prop key="hibernate.jdbc.fetch_size">50</prop> -->
                <!-- 数据库批量更新数 -->
                <prop key="hibernate.jdbc.batch_size">30</prop> 
            </props>
        </property>

<!--扫描该包下的所有实体类-->
        <property name="packagesToScan">
            <list>
                <value>com/eshop/entity</value>
            </list>
        </property>
    </bean>

2、SpringMvc通过hikari配置dataSource来配置sessionFactory

<context:property-placeholder location="classpath:jdbc.properties" />

<!-- 数据源配置 -->
    <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="maximumPoolSize" value="100" />
        <property name="minimumIdle" value="${druid.minIdle}" />
        <property name="connectionTestQuery" value="${jdbc.validationQuery}" />
        <property name="dataSourceProperties">
            <props>
                <prop key="cachePrepStmts">true</prop>
                <prop key="prepStmtCacheSize">250</prop>
                <prop key="prepStmtCacheSqlLimit">2048</prop>
                <prop key="useServerPrepStmts">true</prop>
            </props>
        </property>
    </bean>

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="entityInterceptor" ref="entityInterceptor" />
        <property name="packagesToScan">
            <list>
                <value>org.eshop.*.*.entity</value>
                <value>org.eshop.*.entity</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <!-- 设置数据库方言 -->
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <!-- 输出SQL语句到控制台 -->
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <!-- 格式化输出到控制台的SQL语句 -->
                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
                <!-- 是否开启二级缓存 -->
                <prop key="hibernate.cache.use_second_level_cache">false</prop>
                <!-- 配置二级缓存产品 -->
                <prop key="hibernate.cache.provider_class">org.hibernate.cache.OSCacheProvider</prop>
                <!-- 是否开启查询缓存 -->
                <prop key="hibernate.cache.use_query_cache">false</prop>
                <!-- 数据库批量查询数 -->
                <prop key="hibernate.jdbc.fetch_size">20</prop>
                <!-- 数据库批量更新数 -->
                <prop key="hibernate.jdbc.batch_size">20</prop>
            </props>
        </property>
    </bean>

spring配置hibernate的sessionFactory相关推荐

  1. (转载)spring配置hibernate 事务。

    Spring和Hibernate整合后,通过Hibernate API进行数据库操作时发现每次都要opensession,close,beginTransaction,commit,这些都是重复的工作 ...

  2. Spring配置hibernate读取实体类映射mappingResources,annotatedClasses,packagesToScan

    转自:https://blog.csdn.net/chendc201/article/details/16886545 这两个是有本质区别的,光看名字也能看出来 mappingResources用于指 ...

  3. Spring整合Hibernate。。。。

    环境搭建,在eclipse中导入spring和hibernate框架的插件,和导入所有使用到的架包 首先,hibernate的创建: 建立两个封装类,其中封装了数据库中表的属性,这儿只写属性,gett ...

  4. spring配置数据源的4种方式--简介

    在spring中配置数据源这是做项目不可避免的,今天我把了解到的配置方式在这里做个总结. 本人目前知道4种方式. 1.jdbc org.springframework.jdbc.datasource. ...

  5. java project整合spring和hibernate

    web工程整合ssh已经很多例子了,本例目前为java project,所以要整合spring和hibernate. spring版本是3.0.6 hibernate版本是3.3.0 project架 ...

  6. javaweb各种框架组合案例(三):maven+spring+springMVC+hibernate

    1.hibernate译为"越冬",指的是给java程序员带来春天,因为java程序员无需再关心各种sql了: 2.hibernate通过java类生成数据库表,通过操作对象来映射 ...

  7. Spring配置详情2

    1.基本配置: <?xml version="1.0" encoding="UTF-8"?> <beans      xmlns=" ...

  8. Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置

    想动手做一个SSH框架下的登录注册功能,虽然网上类似的教程很多,可是看了一圈,不是版本问题,就是漏掉了许多关键的步骤.经过几个小时的奋战,终于搞定了所谓很简单的SSH整合实现注册功能,下面把所有的步骤 ...

  9. 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误

    spring事务管理太厉害了!!可以不再自管事务开发了! spring aop声明式事务配置 问题: 困扰我近十多天的的spring事务管理终于解决了, 再也不用自己管理事务了 嗯,可以删该死的hib ...

最新文章

  1. 国开计算机组成原理,国开计算机组成原理.docx
  2. jetpack 安装
  3. c# excel导出png_c#根据html模板导出excel
  4. xargs 主要用于不支持管道的shell命令*****
  5. 金融风控实战——集成学习
  6. Intel Realsense D435 python 实战(二)
  7. LeetCode——树:递归
  8. Java等线程池执行完所有任务后再执行主线程
  9. 给实践者的算法学习指南
  10. 分解得到的时频域特征_AI大语音(四)| MFCC特征提取(深度解析)
  11. Python数据分析、挖掘常用工具
  12. 对比文件md5值实现去重文件
  13. 【iOS开发】App 上架相关事宜、解决技巧
  14. 谷歌浏览器连接超时_技术丨常见在线课堂网络连接网络视频播放的解决方案...
  15. URDF文件导入Simscape后生成slx文件
  16. 如何使用Python构建网络抓取工具[分步指南]
  17. oracle 包头 和 包体,PL/SQL 包头和包体
  18. 讲解如何禁止iOS屏幕自动旋转
  19. access是用来干什么的_access是干什么用的
  20. python双分支结构_3.1.2 双分支结构

热门文章

  1. 下载windows10.iso
  2. mysql prefix_mysql改变innodb_large_prefix
  3. 原生js实现上拉加载
  4. java设计模式-观察者模式(广播机制,消息订阅)
  5. 压缩感知(compressed sensing)的通俗解释
  6. 微信支付的两种模式,扫码支付
  7. 【算法训练营学习笔记-Week06】一遍不懂就多刷几遍
  8. 网络安全专栏——修改电脑密码修改虚拟机密码(图文)
  9. vim光标跳转行首/行尾
  10. 对于公司裁员和转型的无力吐槽