任何DAO访问数据库,最开始都需要配置数据源,数据源中定义了访问数据库的常用配置。有了数据源才能创建数据模板,然后把数据模板注入到DAO中,通过调用数据访问模板中的相应方法来对数据库进行相关操作。

  常用的定义数据源技术有:

  1.JDBC,最基本的配置方式,由于没有进行池化管理,每次连接请求时都会返回一个新连接,不建议在生产环境使用。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destory-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>

  2.连接池(C3P0,DBCP),在生产环境中通常都会采用连接池技术,这样可以提高性能,避免每次访问都开启或关闭连接。

这里采用dbcp的方式定义数据源,在tomcat的lib包下就有commons-dbcp-1.2.1.jar
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destory-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<!-- 初始化连接数量 -->
<property name="initialSize" value="5"/>
<!-- 同一时间池中最多的连接数量,0为无限制 -->
<property name="maxActive" value="10"/>
</bean> 这里采用c3p0的方式定义数据源,需要导入c3p0的jar包,包括c3p0-0.9.5.1.jar,mchange-commons-java-0.2.10.jar,如果数据库是oracle,还需导入c3p0-oracle-thin-extras-0.9.5.1.jar
方法一:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destory-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
<!-- 初始化连接数量 -->
<property name="initialPoolSize" value="5"/>
<!-- 同一时间池中最多的连接数量,0为无限制 -->
<property name="maxPoolSize" value="10"/>
</bean>
方法二:在类路径下创建一个c3p0.properties文件,ComboPooledDataSource会自动去类路径下查找该文件
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destory-method="close"/>
c3p0.properties文件格式(更多参考官方文档):
  c3p0.driverClass=com.mysql.jdbc.Driver
  c3p0.jdbcUrl=jdbc:mysql://localhost:3306/test
  c3p0.user=root
  c3p0.password=root
  c3p0.maxPoolSize=10
  c3p0.minPoolSize=2
  c3p0.initiaPoolSize=2

  还可以通过spring的 <context:property-placeholder location="jdbc.properties"/> 导入属性文件,然后利用方法一的方式在value中填写对应的键值(如:${jdbc.driverClassName}),这种方式的好处是属性文件中的键可以随意定义,只要值对应就可以了。

Spring笔记之配置数据源的更多相关文章

  1. Spring —— 三种配置数据源的方式:spring内置、c3p0、dbcp

    01.Spring内置数据源配置Class:DriverManagerDataSource全限定名:org.springframework.jdbc.datasource.DriverManagerD ...

  2. spring boot未配置数据源报错

    我拷贝了一个springboot 项目,然后去掉了数据源配置启动报错 : Cannot determine embedded database driver class for database ty ...

  3. spring in action学习笔记十六:配置数据源的几种方式

    第一种方式:JNDI的方式. 用xml配置的方式的代码如下: 1 <jee:jndi-lookup jndi-name="/jdbc/spittrDS" resource-r ...

  4. Spring中配置数据源的4种形式

    不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源 ...

  5. Spring配置数据源

    Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0.可以在Spring配置文件中利用这两者中任何一个配置数据源. DBCP数据源 DBCP类包位于 ...

  6. Spring配置数据源的几种形式

    Spring中提供了4种不同形式的数据源配置方式: 1.Spring自带的数据源(DriverMangerDataSource); 2.DBCP数据源; 3.C3P0数据源; 4.JNDI数据源. 以 ...

  7. Spring中配置数据源的4种形式(转)

    原文http://blog.csdn.net/orclight/article/details/8616103       不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的 ...

  8. Spring第十一篇——–Spring整合Hibernate之配置数据源

    DataSource(数据源)提供了一个标准化的取得数据库连接的方式,通过getConnection()方法即可取得数据库的连接,Spring也提供了数据库连接池(DataBase connectio ...

  9. Spring使用jdbcJdbcTemplate和三种方法配置数据源

    三种方法配置数据源 1.需要引入jar包:spring-jdbc-4.3.2.RELEASE.jar <!-- spring内置,springJdbc,配置数据源 --> <bean ...

随机推荐

  1. golang(09) golang 接口内部实现

    原文链接 http://www.limerence2017.com/2019/09/24/golang14/#more 前文介绍过golang interface用法,本文详细剖析interface内 ...

  2. Python操作SQLite

    1. 导入sqlite3数据库模块,从python2.5以后,sqlite3成为内置模块,不需要额外安装,只需要导入即可. import sqlite3 2.创建/打开数据库 使用connect方法打 ...

  3. django 模板里面for循环和if常用的方法

    django 模板里面for循环常用的方法 {% for %} 允许我们在一个序列上迭代.与Python的for 语句的情形类似,循环语法是 for X in Y ,Y是要迭代的序列而X是在每一个特定 ...

  4. office web apps安装部署,配置https,负载均衡(四)安装office web apps相关软件

    前提条件: 1.一台windows server 2008R2服务器,并且已经配置了域: 服务器连接域控制器的相关文档,请查看上一篇文章: office web apps安装部署,配置https,负载 ...

  5. HCL试验4

    PC端配置:配置ip地址 配置网关 交换机配置:①创建VLAN system-view vlan 10 vlan 20 ②配置PC端接口 interface vlan-interface 10 ip ...

  6. Django的一些注意事项

    不要使用 Python 或 Django 的组件名命名项目.具体而言,不要使用“django”(与 Django 冲 突)或“test”(与 Python 内置的一个包冲突)这样的名称. 在中文版中, ...

  7. 关于SQL关键字"having "

    HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用. SQL HAVING 语法 SELECT column_name, aggregate_f ...

  8. C#实现多线程的方式:使用Parallel类

    简介 在C#中实现多线程的另一个方式是使用Parallel类.  在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 f ...

  9. python的变量 以及操作系统

    变量 : (变量真没有什么好说的) 变: 就是会变化的 量:衡量现实的事物标准 python 中引用 变量值的作用 操作系统:就计算机控制硬件的软件,定义各个硬件的接口给应用软件调用 应用软件:在操作 ...

  10. Centos7 安装多版本php 并添加swoole拓展

    服务器默认安装了php7 直接使用lnmp工具包安装php5.6 使用之前的lnmp安装包,切换到root sudo su - 运行 选择5.6 安装完成 没有安装swoole拓展 由官方https: ...