zoukankan      html  css  js  c++  java
  • JdbcTemplate(1)(数据连接池)

    一、环境准备

    1.1 导入JAR

    IOC容器所需要的JAR
    commons-logging-1.1.1.jar
    spring-beans-4.0.0.RELEASE.jar
    spring-context-4.0.0.RELEASE.jar
    spring-core-4.0.0.RELEASE.jar
    spring-expression-4.0.0.RELEASE.jar
    百度云盘
    链接:http://pan.baidu.com/s/1kUEwhwj
    密码:z3yt
    JdbcTemplate所需要的JAR
    spring-jdbc-4.0.0.RELEASE.jar
    spring-orm-4.0.0.RELEASE.jar
    spring-tx-4.0.0.RELEASE.jar
    百度云盘:
    链接:http://pan.baidu.com/s/1o7VQUqY
    密码:dhwm
    ③数据库驱动和数据源
    c3p0-0.9.1.2.jar
    mysql-connector-java-5.1.7-bin.jar
    百度云盘
    链接:http://pan.baidu.com/s/1dEOHLO9
    密码:bjhw

    二、创建连接数据库基本属性文件

      2.1 、jdbc.properties文件

    jdbc.username=root
    jdbc.password=123456
    jdbc.dirver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/login

    initialPoolSize=30

    minPoolSize=10

    maxPoolSize=100

    acquireIncrement=5

    maxStatements=1000

    maxStatementsPerConnection=10

        

      2.2、属性说明

            
                    初始连接数量:数据连接池创建以后,保存数据库连接的数量(initialPoolSize)
                    
                    最小空闲连接数:数据库连接池最少得未使用的数据库连接的数量 (minPoolSize)
                
                    最大空闲连接数:数据库连接池最大闲置连接数,当闲置连接数满了以后,将不会有其他连接进入池(maxPoolSize)
                
                    每次增加连接数:当数据库连接都被占用以后,一次性增加的数据库连接的个数(acquireIncrement)

                    最大连接数:数据库连接池的最大容量,当最大连接数饱和了,则不再创建新的数据库连接(maxStatements=)
                
                    最大等待时间:当数据库连接池饱和以后,等待获取数据库连接的时间(maxStatementsPerConnection)

     

    三、在Spring配置文件中配置相关bean

       3.1 、数据源对象

    <context:property-placeholder location="classpath:jdbc.properties"/>
    
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${user}"/>
        <property name="password" value="${password}"/>
        <property name="jdbcUrl" value="${jdbcUrl}"/>
        <property name="driverClass" value="${driverClass}"/>
        <property name="initialPoolSize" value="${initialPoolSize}"/>
        <property name="minPoolSize" value="${minPoolSize}"/>
        <property name="maxPoolSize" value="${maxPoolSize}"/>
        <property name="acquireIncrement" value="${acquireIncrement}"/>
        <property name="maxStatements" value="${maxStatements}"/>
        <property name="maxStatementsPerConnection" value="${maxStatementsPerConnection}"/>
    </bean>

       3.2 、JdbcTemplate对象

    <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    四、持久化操作

       4.1 、增删改

     

    JdbcTemplate.update(String, Object...)

       4.2 、批量增删改

     

    JdbcTemplate.batchUpdate(String, List<Object[]>)

    Object[]封装了SQL语句每一次执行时所需要的参数

    List集合封装了SQL语句多次执行时的所有参数

       4.3查询多行

     

    JdbcTemplate.queryForObject(String, RowMapper<Department>, Object...)

     

       4.4查询单一值  

    JdbcTemplate.queryForObject(String, Class, Object...)

     

  • 相关阅读:
    EntityFrameworkCore 试用
    学习Core 本机开发调试 (环境)
    非代码的异常
    .net 下判断中英文字符串长度
    LingQ 的Distinct使用方法
    Excel导入导出各种方式分析
    VS使用的快捷方式
    数据库事物
    web开发常用正则表达式
    特殊字符转义
  • 原文地址:https://www.cnblogs.com/TYDBLOG/p/7445597.html
Copyright © 2011-2022 走看看