任何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. 如何解决使用 JMeter 时遇到的问题

    这是对 JMeter 官方网站上一篇文章的翻译.点击这里可以访问原文JMeterTroubleShooting. • check the log file. This is normally in t ...

  2. 2、puppet资源详解

    定义puppet资源 puppet资源抽象 资源定义 每一个资源有一个type.一个title和一个属性集合(attribute) type {'title':   //type表示资源类型,  ti ...

  3. 2019.06.05 ABAP EXCEL 操作类代码 OLE方式(模板下载,excel上传,内表下载)

    一般使用标准的excel导入方法9999行,修改了标准的excel导入FM 整合出类:excel的 模板下载,excel上传,ALV内表下载功能. 在项目一开始可以SE24创建一个类来供整体开发使用, ...

  4. php下关于字符串与数组的相互转换的函数

    public static function string2array($tags)    {        return preg_split('/\s*,\s*/',trim($tags),-1, ...

  5. Eclipse 4.11 Debug jar包代码时进入空心J

    代码调试时,进入jar包中的时候,会出现如下的情况超级影响代码调试 断点打在上面的地方,但是却进入到了空心J的那个地方了. 解决办法:去掉勾选即可. 我是这么解决的.

  6. 在Debian下利用URLOS快速安装SqlServer2017

    SqlServer能在Debian上安装吗?答案是可以!网络上也能找到很多Linux系统下安装SqlServer的相关文章,也许经过一些折腾,你也能成功在Debian中安装sqlserver,但是其中 ...

  7. selenium—alert用法

    切换到弹框: switch_to_alert() ① alert.accept()  确认弹框 driver.switch_to_alert().accept() ② alert.dismiss() ...

  8. 多模块环境下修改包名Rename directory与Rename package

    选中包名->右键Refactor->Rename,如果会弹出的警告框让选择Rename directory和Rename package时,若选择Rename directory,则是只修 ...

  9. HTML页面左上角图标

    显示网页左上角标志图标 <link rel="shortcut icon"type="image/x-icon"href="images/fav ...

  10. MySQL_入手<二>之删--改--查

    接上 上篇文章继续 查询 # 比较运算 # 根据WHERE条件查找数据: = > < >= <= != select * from t_hero where age < ...