zoukankan      html  css  js  c++  java
  • Spring连接数据库的几种常用的方式

    转至 Spring连接数据库的几种常用的方式

    jdbc.properties

    jdbc.driverClassName=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/test
    jdbc.username=root
    jdbc.password=root

    在applicationContext.xml中配置jdbc.properties

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
            <property name="locations">       

                   <list>                    

                   <value>classpath*:jdbc.properties</value>           

                  </list>           

         </property>  
    </bean>

    第一种:使用spring自带的DriverManagerDataSource   配置文件如下:

    <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

      <property name="driverClassName" value="${jdbc.driverClassName}" />

      <property name="url" value="${jdbc.url}" />   

      <property name="username" value="${jdbc.username}" />   

      <property name="password" value="${jdbc.password}" />

    </bean>

    第二种

     C3P0    数据源需要使c3p0的核心jar包。一般在下载hibernate的时候都会自带一个: 在hibernate-release-4.3.0.Finalliboptionalc3p0路径下找到的。  

    要注意的是在bean的property的name属性和其他几种方式会有所不同

    <bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  >      

          <property name="driverClass" value="${jdbc.driverClassName}" /> 

        <property name="jdbcUrl" value="${jdbc.jdbcUrl}" />

         <property name="user" value="${jdbc.user}" />

         <property name="password" value="${jdbc.password}" />    

         <!-- 连接池信息  当连接池中的连接用完时,C3P0一次性创建新连接的数目  -->       

          <property name="acquireIncrement" value="${c3p0.acquireIncrement}" />    

          <!--  初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值。默认为3;-->      

           <property name="initialPoolSize" value="${c3p0.initialPoolSize}" />        

        <!--   最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0;-->       

             <property name="maxIdleTime" value="${c3p0.maxIdleTime}" />      

          <!--  连接池中保留的最小连接数。默认为15  -->      

           <property name="minPoolSize" value="${c3p0.minPoolSize}" />  

             <!--  连接池中保留的最大连接数。默认为15;  -->

            <property name="maxPoolSize" value="${c3p0.maxPoolSize}" />     

            <!--   JDBC的标准参数,用以控制数据源内加载的PreparedStatement数量。但由于预缓存的Statement属 于单个Connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素,如果maxStatements与 maxStatementsPerConnection均为0,则缓存被关闭。默认为0;   -->      

           <property name="maxStatements" value="${c3p0.maxStatements}" />      

        <!--   连接池内单个连接所拥有的最大缓存Statement数。默认为0;   -->

            <property name="maxStatementsPerConnection" value="${c3p0.maxStatementsPerConnection}"/>

    </bean>

    第三种:

    使用apache的dbcp插件连接数据库 需要下载的jar包:commons-dbcp.jar,commons-pool.jar,commons-collection.jar

     spring的配置文件中如下:

    <bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">    

         <property name="driverClassName"  value="${jdbc.driverClassName}" />     

        <property name="url" value="${jdbc.url}" />   

       <property name="username" value="${jdbc.username}" />      

     <property name="password" value="${jdbc.password}" />   

       </bean>

  • 相关阅读:
    AD中各层的说明
    Altium designer的PCB设计规则
    python 的基础 学习 第三天 编码的初始
    python 的基础 学习 第三
    python的基础初始第二天
    python 的基础 学习 第一天
    Liunx ls命令
    Liunx cd命令
    CentOS 7系统关闭yum自动下载更新
    【转】XenServer体系架构解析
  • 原文地址:https://www.cnblogs.com/zxf330301/p/6159509.html
Copyright © 2011-2022 走看看