zoukankan      html  css  js  c++  java
  • SSM系列教材 (四)- 在SSM中使用C3P0连接池

    本知识点讲解如何在SSM中配置数据库连接池。 连接池的效果要大量测试才能够看得出效果,本知识点主要是为了将来如果你要修改成连接池的时候,复制粘贴方便~

    步骤1:先运行,看到效果,再学习
    步骤2:模仿和排错
    步骤3:基于分页进行
    步骤4:修改applicationContext.xml
    步骤5:测试

    步骤 1 : 先运行,看到效果,再学习

    老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。

    步骤 2 : 模仿和排错

    在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。 
    模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较正确答案 ( 可运行项目 ) 和自己的代码,来定位问题所在。 
    采用这种方式,学习有效果,排错有效率,可以较为明显地提升学习速度,跨过学习路上的各个槛。 

    推荐使用diffmerge软件,进行文件夹比较。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。 
    这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来 
    这里提供了绿色安装和使用教程:diffmerge 下载和使用教程

    步骤 3 : 基于分页进行

    本知识点,基于分页进行。

    步骤 4 : 修改applicationContext.xml

    注释掉52-66行的原有datasource,新增Druid连接池

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"

        xmlns:tx="http://www.springframework.org/schema/tx"xmlns:jdbc="http://www.springframework.org/schema/jdbc"

        xmlns:context="http://www.springframework.org/schema/context"

        xmlns:mvc="http://www.springframework.org/schema/mvc"

        xsi:schemaLocation="

         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd

         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

         http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd

         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

         

       <context:annotation-config />

        <context:component-scan base-package="com.how2java.service" />

        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"destroy-method="close">

            <!-- 基本属性 url、user、password -->

            <property name="url" value="jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8"/>

            <property name="username" value="root" />

            <property name="password" value="admin" />

            <property name="driverClassName" value="com.mysql.jdbc.Driver" />

            <!-- 配置初始化大小、最小、最大 -->

            <property name="initialSize" value="3" />

            <property name="minIdle" value="3" />

            <property name="maxActive" value="20" />

            <!-- 配置获取连接等待超时的时间 -->

            <property name="maxWait" value="60000" />

            <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->

            <property name="timeBetweenEvictionRunsMillis" value="60000" />

            <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->

            <property name="minEvictableIdleTimeMillis" value="300000" />

            <property name="validationQuery" value="SELECT 1" />

            <property name="testWhileIdle" value="true" />

            <property name="testOnBorrow" value="false" />

            <property name="testOnReturn" value="false" />

            <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->

            <property name="poolPreparedStatements" value="true" />

            <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />

        </bean>

         

    <!--     <bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">   -->

    <!--       <property name="driverClassName">   -->

    <!--           <value>com.mysql.jdbc.Driver</value>   -->

    <!--       </property>   -->

    <!--       <property name="url">   -->

    <!--           <value>jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8</value>   -->

          

    <!--       </property>   -->

    <!--       <property name="username">   -->

    <!--           <value>root</value>   -->

    <!--       </property>   -->

    <!--       <property name="password">   -->

    <!--           <value>admin</value>   -->

    <!--       </property>      -->

    <!--     </bean>    -->

         

        <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">

            <property name="typeAliasesPackage" value="com.how2java.pojo" />

            <property name="dataSource" ref="dataSource"/>

            <property name="mapperLocations" value="classpath:com/how2java/mapper/*.xml"/>

        </bean>

        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

            <property name="basePackage" value="com.how2java.mapper"/>

        </bean>

         

    </beans>

    步骤 5 : 测试

    访问页面看到如图所示效果

    http://127.0.0.1:8080/ssm/listCategory



    连接池要大量测试才能够看得出效果,这个测试仅仅表示可以像以前一样正常工作。

    本知识点主要是为了将来如果你要修改成c3p0的时候,复制粘贴方便~

    测试


    更多内容,点击了解: https://how2j.cn/k/ssm/ssm-c3p0/1142.html

  • 相关阅读:
    LeetCode 295. Find Median from Data Stream (堆)
    LeetCode 292. Nim Game(博弈论)
    《JavaScript 模式》读书笔记(4)— 函数2
    《JavaScript 模式》读书笔记(4)— 函数1
    《JavaScript 模式》读书笔记(3)— 字面量和构造函数3
    《JavaScript 模式》读书笔记(3)— 字面量和构造函数2
    《JavaScript 模式》读书笔记(3)— 字面量和构造函数1
    《JavaScript 模式》读书笔记(2)— 基本技巧3
    《JavaScript 模式》读书笔记(2)— 基本技巧2
    《JavaScript 模式》读书笔记(2)— 基本技巧1
  • 原文地址:https://www.cnblogs.com/Lanht/p/12789315.html
Copyright © 2011-2022 走看看