zoukankan      html  css  js  c++  java
  • dbcp2、c3p0、druid连接池的简单配置

    引入Maven依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>08-spring</artifactId>
            <groupId>com.taotao</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>day37_jdbc</artifactId>
    
        <properties>
            <junit.version>4.12</junit.version>
            <spring.version>4.2.4.RELEASE</spring.version>
            <slf4j.version>1.6.4</slf4j.version>
            <mysql.version>5.1.8</mysql.version>
            <dbcp.version>2.1.1</dbcp.version>
            <c3p0.version>0.9.1.2</c3p0.version>
            <druid.version>1.0.9</druid.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
            </dependency>
    
            <dependency>
                <groupId>c3p0</groupId>
                <artifactId>c3p0</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
            </dependency>
    
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </dependency>
        </dependencies>
        
    </project>

    配置applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    
        <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate0">
            <constructor-arg ref="dataSource" name="dataSource"/>
        </bean>
    
        <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate1">
            <constructor-arg ref="basicDataSource" name="dataSource"/>
        </bean>
    
        <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate2">
            <constructor-arg ref="comboPooledDataSource" name="dataSource"/>
        </bean>
    
        <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate3">
            <constructor-arg ref="druidDataSource" name="dataSource"/>
        </bean>
    
    
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="url" value="jdbc:mysql://172.28.128.5:3306/spring_day03"/>
            <property name="username" value="ttsc"/>
            <property name="password" value="redhat"/>
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="connectionProperties">
                <props>
                    <prop key="useUnicode">yes</prop>
                    <prop key="characterEncoding">utf8</prop>
                </props>
            </property>
        </bean>
    
        <bean class="org.apache.commons.dbcp2.BasicDataSource" id="basicDataSource">
            <property name="url" value="jdbc:mysql://172.28.128.5:3306/spring_day03"/>
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="username" value="ttsc"/>
            <property name="password" value="redhat"/>
            <property name="connectionProperties" value="useUnicode=yes;characterEncoding=utf8"/>
        </bean>
    
        <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="comboPooledDataSource">
            <property name="driverClass" value="com.mysql.jdbc.Driver"/>
            <property name="user" value="ttsc"/>
            <property name="password" value="redhat"/>
            <property name="jdbcUrl"
                      value="jdbc:mysql://172.28.128.5:3306/spring_day03?useUnicode=true&amp;characterEncoding=utf-8"/>
        </bean>
    
        <bean class="com.alibaba.druid.pool.DruidDataSource" id="druidDataSource" destroy-method="close">
            <property name="url" value="jdbc:mysql://172.28.128.5:3306/spring_day03"/>
            <property name="username" value="ttsc"/>
            <property name="password" value="redhat"/>
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="connectionProperties" value="useUnicode=yes;characterEncoding=utf8"/>
        </bean>
    
    </beans>

    编写测试代码

    package com.itheima.demo1;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.datasource.DriverManagerDataSource;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import javax.annotation.Resource;
    import java.util.Properties;
    
    /**
     * Created by Eric on 3/9/17.
     */
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(value = "classpath:applicationContext.xml")
    public class demo1 {
    
        @Resource(name = "jdbcTemplate0")
        private JdbcTemplate template0;
    
        @Resource(name = "jdbcTemplate1")
        private JdbcTemplate template1;
    
        @Resource(name = "jdbcTemplate2")
        private JdbcTemplate template2;
    
        @Resource(name = "jdbcTemplate3")
        private JdbcTemplate template3;
    
        @Test
        public void run1() throws Exception {
    
            Properties properties = new Properties();
            properties.put("useUnicode", "yes");
            properties.put("characterEncoding", "utf8");
    
            DriverManagerDataSource dataSource = new DriverManagerDataSource();
            dataSource.setDriverClassName("com.mysql.jdbc.Driver");
            dataSource.setUrl("jdbc:mysql://172.28.128.5:3306/spring_day03");
            dataSource.setUsername("ttsc");
            dataSource.setPassword("redhat");
            dataSource.setConnectionProperties(properties);
    
            JdbcTemplate template = new JdbcTemplate(dataSource);
            template.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小明", 1000);
        }
    
        @Test
        public void run2() throws Exception {
            template0.update("INSERT INTO t_account VALUES (NULL ,?,?)", "冠希", 1000);
        }
    
        @Test
        public void run3() throws Exception {
            template1.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小强", 1000);
        }
    
        @Test
        public void run4() throws Exception {
            template2.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小美", 1000);
        }
    
        @Test
        public void run5() throws Exception {
            template3.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小六", 1000);
        }
    }
  • 相关阅读:
    编写高质量Python程序(四)库
    编写高质量Python程序(三)基础语法
    编写高质量Python程序(二)编程惯用法
    编写高质量Python程序(一)基本准则
    IM聊天教程:发送图片/视频/语音/表情
    微信小程序使用GoEasy实现websocket实时通讯
    Websocket直播间聊天室教程
    不将就!GoEasy消息推送助力一加手机8系线上发布会
    手把手教你用GoEasy实现Websocket IM聊天
    Uniapp使用GoEasy实现websocket实时通讯
  • 原文地址:https://www.cnblogs.com/echo1937/p/6526230.html
Copyright © 2011-2022 走看看