spring配置hibernate的sessionFactory
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相关推荐
- (转载)spring配置hibernate 事务。
Spring和Hibernate整合后,通过Hibernate API进行数据库操作时发现每次都要opensession,close,beginTransaction,commit,这些都是重复的工作 ...
- Spring配置hibernate读取实体类映射mappingResources,annotatedClasses,packagesToScan
转自:https://blog.csdn.net/chendc201/article/details/16886545 这两个是有本质区别的,光看名字也能看出来 mappingResources用于指 ...
- Spring整合Hibernate。。。。
环境搭建,在eclipse中导入spring和hibernate框架的插件,和导入所有使用到的架包 首先,hibernate的创建: 建立两个封装类,其中封装了数据库中表的属性,这儿只写属性,gett ...
- spring配置数据源的4种方式--简介
在spring中配置数据源这是做项目不可避免的,今天我把了解到的配置方式在这里做个总结. 本人目前知道4种方式. 1.jdbc org.springframework.jdbc.datasource. ...
- java project整合spring和hibernate
web工程整合ssh已经很多例子了,本例目前为java project,所以要整合spring和hibernate. spring版本是3.0.6 hibernate版本是3.3.0 project架 ...
- javaweb各种框架组合案例(三):maven+spring+springMVC+hibernate
1.hibernate译为"越冬",指的是给java程序员带来春天,因为java程序员无需再关心各种sql了: 2.hibernate通过java类生成数据库表,通过操作对象来映射 ...
- Spring配置详情2
1.基本配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置
想动手做一个SSH框架下的登录注册功能,虽然网上类似的教程很多,可是看了一圈,不是版本问题,就是漏掉了许多关键的步骤.经过几个小时的奋战,终于搞定了所谓很简单的SSH整合实现注册功能,下面把所有的步骤 ...
- 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误
spring事务管理太厉害了!!可以不再自管事务开发了! spring aop声明式事务配置 问题: 困扰我近十多天的的spring事务管理终于解决了, 再也不用自己管理事务了 嗯,可以删该死的hib ...
最新文章
- 国开计算机组成原理,国开计算机组成原理.docx
- jetpack 安装
- c# excel导出png_c#根据html模板导出excel
- xargs 主要用于不支持管道的shell命令*****
- 金融风控实战——集成学习
- Intel Realsense D435 python 实战(二)
- LeetCode——树:递归
- Java等线程池执行完所有任务后再执行主线程
- 给实践者的算法学习指南
- 分解得到的时频域特征_AI大语音(四)| MFCC特征提取(深度解析)
- Python数据分析、挖掘常用工具
- 对比文件md5值实现去重文件
- 【iOS开发】App 上架相关事宜、解决技巧
- 谷歌浏览器连接超时_技术丨常见在线课堂网络连接网络视频播放的解决方案...
- URDF文件导入Simscape后生成slx文件
- 如何使用Python构建网络抓取工具[分步指南]
- oracle 包头 和 包体,PL/SQL 包头和包体
- 讲解如何禁止iOS屏幕自动旋转
- access是用来干什么的_access是干什么用的
- python双分支结构_3.1.2 双分支结构