21Spring_JdbcTemplatem模板工具类的使用——配置文件(连接三种数据库连接池)
上一篇文章提到过DriverManagerDataSource只是Spring内置的数据库连接池,我们可选的方案还有c3p0数据库连接池以及DBCP数据库连接池。
所以这篇文章讲一下上面三种数据库连接池的配置文件的形式。
第一种:DriverManagerDataSource:Spring内置的数据库连接池。
第一步:编写配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- 配置spring 本身自带的数据库连接池 这一步相当于
//1.创建数据库连接池,使用spring内置的连接池
DriverManagerDataSource dataSource=new DriverManagerDataSource();
//连接数据库驱动
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring3_day2");
dataSource.setUsername("root");
dataSource.setPassword("root"); -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 初始化dataSource里面的参数 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///spring3_day2"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean> <!-- 构建一个jdbcTemplate的模板对象 ,这个模板对象里面有dataSource这个变量,这里给他赋予初始值
这一步相当于: //2.通过连接池构造模板对象
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource); -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/> </bean> </beans>
第二步:编写Junit测试代码:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationContext.xml") public class Jdbctest {
//为了注解(根据类型注解的),不加这个注释的话 Spring怎么给jdbcTemplate赋值
@Autowired
private JdbcTemplate jdbcTemplate;
@Test
public void jdbcTemplatetest()
{
jdbcTemplate.execute("create table person2(id int primary key,name varchar(20))"); } }
结果:
创建了一个person2的表。
第二种:Apache的Dbcp连接池
第一步:从下载的依赖包(spring-framework-3.0.2.RELEASE-dependencies下的org.apache.commons里面)里导入Dbcp连接池的jar包。
aaarticlea/png;base64,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" alt="" />
第二步:在配置文件中配置数据库连接
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///spring3_day2"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
其他什么都不用改。
结果和以前的一样。
第三种:C3P0的连接池
第一步:从Spring的依赖库里找jar包。
aaarticlea/png;base64,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" alt="" />
第二步:在配置文件中配置数据库连接
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql:///spring3_day2"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
其他什么都不用改。注意我用红色标出来的,这些都是和之前的数据库连接池不同的地方。去看C3P0的源代码就会发现,里面的成员变量就是这么定义的。
结果和以前的一样。
21Spring_JdbcTemplatem模板工具类的使用——配置文件(连接三种数据库连接池)的更多相关文章
- Beanutils工具类,封装数据的三种方式,单例模式
org.apache.commons.beanutils.Beanutils; Beanutils setProperty(Object obj,String name,Object value) O ...
- 20Spring_JdbcTemplatem模板工具类
JdbcTemplate 是Spring提供简化Jdbc开发模板工具类.为了更好的了解整个JdbcTemplate配置数据库连接池的过程,这篇文章不采用配置文件的方式,而是采用最基本的代码 的方式来写 ...
- Javascript定义类(class)的三种方法
将近20年前,Javascript诞生的时候,只是一种简单的网页脚本语言.如果你忘了填写用户名,它就跳出一个警告. 如今,它变得几乎无所不能,从前端到后端,有着各种匪夷所思的用途.程序员用它完成越来越 ...
- 019-MD5加密模板工具类
1 MD5加密工具类 package ${enclosing_package}; import java.math.BigInteger; import java.security.MessageDi ...
- Java中配置文件的三种配置位置及读取方式
XML 和properties properties: 1.存放于src根目录下 //获取到同包下的资源文件,将其转换成流对象 //InputStream is= PropertiesDemo.cla ...
- hadoop学习;自己定义Input/OutputFormat;类引用mapreduce.mapper;三种模式
hadoop切割与读取输入文件的方式被定义在InputFormat接口的一个实现中.TextInputFormat是默认的实现,当你想要一次获取一行内容作为输入数据时又没有确定的键.从TextInpu ...
- Linux初学之vmware Workstation 网络连接三种模式
简介: VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在 单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功 ...
- Spring Framework5.0 学习(3)—— spring配置文件的三种形式
Spring Framework 是 IOC (Inversion of Control 控制反转)原则的实践. IoC is also known as dependency injection ...
- mfc 在VC的两个对话框类中传递参数的三种方法
弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ...
随机推荐
- SharePoint2013 - 移动文档
In SharePoint 2010, the easiest way to transfer documents from one library to another involved using ...
- 404 & 401 Errors with the App Management Service
from:http://blogs.technet.com/b/sharepoint_-_inside_the_lines/archive/2013/06/23/404-amp-401-errors- ...
- Arcengine实现创建网络数据集札记(一)
一 引子 网络数据集,GIS空间分析基础的理论和知识,是最短路径分析.连通性分析等其他空间分析技术的数据基础. 以往,网络数据集的研究很少,此次项目开发过程中,对网络数据集以及arcengine创建网 ...
- Android 带清除功能的输入框控件EditText
1.效果图 2.源码下载 http://download.csdn.net/detail/yanzi2015/8864603 3.相关博客 http://www.cnblogs.com/to ...
- Python基础(10)--数字
本文的主题是 Python 中的数字.会详细介绍每一种数字类型,它们适用的各种运算符, 以及用于处理数字的内建函数.在文章的末尾, 简单介绍了几个标准库中用于处理数字的模块. 本文地址:http:// ...
- Android代码混淆官方实现方法
首先查看一下 “project.properties” 这个文件: # This file is automatically generated by Android Tools.# Do not m ...
- Android 之 json数据的解析(jsonReader)
json数据的解析相对而言,还是比较容易的,实现的代码也十分简单.这里用的是jsonReade方法来进行json数据解析. 1.在解析之前,大家需要知道什么是json数据. json数据存储的对象是无 ...
- 让div中的table居中
div 标签上写 style="text-align:center" div中的table中写 style="margin:auto;" <table ...
- Java中关于 BigDecimal 的一个导致double精度损失的"bug"
背景 在博客 恶心的0.5四舍五入问题 一文中看到一个关于 0.5 不能正确的四舍五入的问题.主要说的是 double 转换到 BigDecimal 后,进行四舍五入得不到正确的结果: public ...
- 线程本地存储TLS(Thread Local Storage)的原理和实现——分类和原理
原文链接地址:http://www.cppblog.com/Tim/archive/2012/07/04/181018.html 本文为线程本地存储TLS系列之分类和原理. 一.TLS简述和分类 我们 ...