• Spring的datasource配置详解


    一句话,Spring对Hibernate的整合,是在applicationContext.xml中配置sessionFactory来实现的,其中sessionFactory中要装配dataSource。下面就详细介绍dataSource Bean的配置。

    先上代码(比较齐全的属性)

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    	destroy-method="close">
    	<property name="driverClassName" value="${driverClassName}" />
    	<property name="url" value="${url}" />
    	<property name="username" value="${username}" />
    	<property name="password" value="${password}" />
    	<!-- 连接初始值,连接池启动时创建的连接数量的初始值 -->
    	<property name="initialSize" value="${initialSize}" />
    	<!-- 连接池的最大值,同一时间可以从池分配的最多连接数量,0时无限制 -->
    	<property name="maxActive" value="${maxActive}" />
    	<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 ,0时无限制-->
    	<property name="maxIdle" value="${maxIdle}" />
    	<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
    	<property name="minIdle" value="${minIdle}" />
    	<!-- 是否对已备语句进行池管理(布尔值),是否对PreparedStatement进行缓存 -->
    	<property name="poolPreparedStatements" value="true" />
    	<!-- 是否对sql进行自动提交 -->
    	<property name="defaultAutoCommit" value="true" />
    </bean>

    1.Bean的id为dataSource,对应的java类是BasicDataSource,这个类适用于配置基本类型的数据库连接,如果要想进行多数据源,那么该Bean对应的java类就得用DynamicDataSource。

    2.destroy-method,表示当该连接销毁时候,会调用BasicDataSource类中的close方法。

    3.driverClassName,url,username,password都是基本配置,这些属性的value值是通过外部的属性配置文件引入,具体怎么引入请参见http://blog.csdn.net/dreamrealised/article/details/9123199中的第三点propertyConfigurer。

    4.接下来的属性与数据库连接池有关,数据库连接池的有关基础知识请参见http://blog.csdn.net/dreamrealised/article/details/9127563

    1)initialSize,连接初始值,连接池启动时创建的连接数量的初始值

    2)maxActive,连接池的最大值,同一时间可以从池分配的最多连接数量,0时无限制

    3)maxIdle,最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 ,0时无限制

    4)minIdle,最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请

    5)poolPreparedStatements,是否对已备语句进行池管理(布尔值),是否对PreparedStatement进行缓存

    6)defaultAutoCommit,是否对sql进行自动提交,进行事务管理的时候往往要关闭jdbc的自动提交功能,事务管理详见http://blog.csdn.net/dreamrealised/article/details/9123173


  • 相关阅读:
    用Jdbc连接数据库后实现增删改查功能
    jdbc连接数据库
    聚合函数和分组查询
    数据库MySQL
    commons工具类 FilenameUtils FileUtils
    打印流(PrintWriter )
    一次性认识终端命令
    JSON数据展示神器:react-json-view(常用于后台网站)
    table固定列的宽度,超出部分用…代替(针对普通table和antd)
    git项目,VSCode显示不同颜色块的含义
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3144811.html
Copyright © 2020-2023  润新知