Spring-Spring与jdbc,mybatis的结合

本文详细介绍了Spring如何与JDBC结合,重点讨论了Spring获取DataSource的多种方式,如DBCP和C3P0连接池。此外,文章还深入讲解了Spring的JdbcTemplate简化JDBC操作的方法。最后,探讨了Spring与Mybatis的集成,包括如何配置SqlSessionFactoryBean,以及Spring如何通过动态代理创建接口实现类执行SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Spring和Jdbc的结合

Spring获取DateSource

  • 通过数据源DataSource连接数据库对象Connection:现在Spring通过配置文件获取数据源DataSource,帮助我们管理Connection对象

    • Spring通过创建数据库连接帮助我们管理Connection对象
    • 数据库连接处负责分配,管理和释放数据库连接,允许应用程序重复使用现有的数据库连接而不是重新建立一个

Spring获取DataSource的方式

  • Spring获取DataSource有四种方式获取:将数据源DataSource注入到Bean容器中,通过数据源去获取连接池中连接

    1. 基于JDK规范提供的DataSource数据源:

      <!-- 基于jdk规范数据源(ORACLE提供) -->
      <!-- oracle提供而的jdbc数据连接池 -->
      <bean name="dataSource1" class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
          <!-- 网络协议TCP:三层握手 -->
          <property name="networkProtocol">
              <value>tcp</value>
          </property>
          <property name="databaseName">
              <value>XE</value>
          </property>
          <!-- 数据库连接方式thin和oci -->
          <property name="driverType">
              <value>thin</value>
          </property>
          <property name="portNumber">
              <value>1521</value>
          </property>
          <property name="user">
              <value>briup</value>
          </property>
          <!-- URL -->
          <property name="serverName">
              <value>127.0.0.1</value>
          </property>
          <property name="password">
              <value>briup</value>
          </property>
      </bean>
      
    2. dbcp: DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。

      • 单独使用 dbcp 需要2个包:commons-dbcp.jar,commons-pool.jar
      <!-- 配置properties文件,读取数据库连接四要素 -->
      <!-- 读取这个资源文件 读完之后下面就可以用${key}来去文件中的value值了 -->
      <!-- 这种方式是我们第一节学习的那种配置方式方式的简写 -->
      <!-- classpath:src目录下面的 -->
      <context:property-placeholder location="classpath:oracle.properties" />
      或者
      <!-- 交个Spring解析oracle.properties的配置文件,获得locations -->
      <bean
          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
          <property name="locations"
              value="classpath:oracle.properties" />
      </bean>
      
      
      <!-- dbcp数据源 -->
      <bean name="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
          <property name="driverClassName">
              <value>${driver}</value>
          </property>
          <property name="url">
              <value>${url}</value>
          </property>
          <property name="username">
              <value>${user}</value>
          </property>
          <property name="password">
              <value>${password}</value>
          </property>
          <!-- 连接池中连接的最大连接数 -->
          <property name="maxActive">
              <value>80</value>
          </property>
          <!-- 连接池中连接的最大空闲连接数 -->
          <property name="maxIdle">
              <value>20</value>
          </property>
          <!-- 最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间 单位:毫秒 -->
          <!-- 超过时间则抛出异常,如果设置为-1表示无限等待 -->
          <property name="maxWait">
              <value>3000</value>
          </property>
      </bean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值