Spring数据源的灵活配置巧应用

环境:

Java SE 1.5

Spring-2.5.1

mysql-connector-java-5.1.5.zip

Mysql 5.x

为了从数据库中取得数据,我们首先需要获取一个数据库连接。 Spring通过DataSource对象来完成这个工作。 DataSource是JDBC规范的一部分, 它被视为一个通用的数据库连接工厂。通过使用DataSource, Container或Framework可以将连接池以及事务管理的细节从应用代码中分离出来。 作为一个开发人员,在开发和测试产品的过程中,你可能需要知道连接数据库的细节。 但在产品实施时,你不需要知道这些细节。通常数据库管理员会帮你设置好数据源。

在使用Spring JDBC时,你既可以通过JNDI获得数据源,也可以自行配置数据源( 使用Spring提供的DataSource实现类)。使用后者可以更方便的脱离Web容器来进行单元测试。 这里我们将使用DriverManagerDataSource,不过DataSource有多种实现, 后面我们会讲到。使用DriverManagerDataSource和你以前获取一个JDBC连接 的做法没什么两样。你首先必须指定JDBC驱动程序的全限定名,这样DriverManager 才能加载JDBC驱动类,接着你必须提供一个url(因JDBC驱动而异,为了保证设置正确请参考相关JDBC驱动的文档), 最后你必须提供一个用户连接数据库的用户名和密码。

以上两段文字摘自Spring开发文档原文,下面我写的一个小的应用,用来测试Srping JDBC支持的效果。

下面这个测试要实现一个目标:通过获取Spring的数据源来查询MySQL数据库testdb的一个表t_user数据。

一、创建项目,加载程序用到的工具包和驱动。并在源代码目录中添加Spring的配置文件ApplicationContext.xml,配置内容如下:

<?xml version="1.0" encoding="gb2312"?>
   <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
   <beans>
     <!--数据库的数据源定义-->
     <bean id="rptds" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
       <property name="driverClassName">
         <value>com.mysql.jdbc.Driver</value>
       </property>
       <property name="url">
         <value>jdbc:mysql://localhost:3306/testdb</value>
       </property>
       <property name="username">
         <value>root</value>
       </property>
       <property name="password">
         <value>leizhimin</value>
       </property>
     </bean>
   </beans>

时间: 2024-10-28 05:39:07

Spring数据源的灵活配置巧应用的相关文章

【JAVA秒会技术之随意切换数据库】Spring如何高效的配置多套数据源

 Spring如何高效的配置多套数据源     真正的开发中,难免要使用多个数据库,进行不同的切换.无论是为了实现"读写分离"也好,还是为了使用不同的数据库("MySQL"或"Oracle"或"SQLServer").传统的方法,是配置多套Spring配置文件与Mysql配置文件,不仅配置起来较为混乱,而且切换及对事物的管理,也很麻烦.下面,博主就介绍一种方法,帮助大家解决"Spring如何高效的配置多套数据源&qu

在spring的配置文件中配置c3p0和在hibernate的配置文件中配置c3p0有什么区别?

问题描述 在spring的配置文件中配置c3p0和在hibernate的配置文件中配置c3p0有什么区别? 在spring的配置文件中配置c3p0和在hibernate的配置文件中配置c3p0有什么区别? 我最近在学习如何配置struts2+spring+hibernate,其中数据库连接池使用c3p0,一开始在hibernate.cfg.xml中添加c3p0连接的信息如下: <property name="hibernate.connection.provider_class"

浅析使用BootStrap TreeView插件实现灵活配置快递模板_javascript技巧

bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件.该jQuery插件基于Twitter Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树.列表树等等. 开发条件: 安装bootstrap-treeview插件,具体操作见: bootstrap-treeview 实现功能: 1.一个模板可指定子模板(包含多个地区.价格等) 2.编辑子模板地区时,动态改变tree的地区(其他子模板选中的地区disabled,此模板之前选中的

Spring Cloud连载(3)Spring Boot简介与配置

本站小福利 点我获取阿里云优惠券 原文作者:杨大仙的程序空间 3 Spring Boot简介与配置   3.1 Spring Boot         Spring Cloud基于Spring Boot搭建,本小节将对Spring Boot作一个大致的讲解,读者知道Spring Boot作用即可. 3.1.1 Spring Boot简介         开发一个全新的项目,需要先进行开发环境的搭建,例如要确定技术框架以及版本,还要考虑各个框架之间的版本兼容问题,完成这些繁琐的工作后,还要对新项目

playframework-我要在playFramework配置 oracle 数据库 多个数据源 应该怎么配置以及引用呢

问题描述 我要在playFramework配置 oracle 数据库 多个数据源 应该怎么配置以及引用呢 我要在playFramework配置 oracle 数据库 多个数据源 应该怎么配置以及引用呢? 我已经在conf里面写了另一个数据源 名字是test,然后我想查找的时候用sql来查找,类似这种方法 rawSql= RawSqlBuilder.parse(sql) .columnMapping("gno", "gno") .create(); Query eQ

了解Spring Boot的自动配置

Spring Boot的自动配置给开发者带来了很大的便利,当开发人员在pom文件中添加starter依赖后,maven或者gradle会自动下载很多jar包到classpath中.当Spring Boot检测到特定类的存在,就会针对这个应用做一定的配置,自动创建和织入需要的spring bean到程序上下文中. 在之前的文章中,我们只是在pom文件中增加各种starter的依赖,例如:spring-boot-starter-data-jpa, spring-boot-starter-web, s

struts2整合spring3后,指定spring管理action之后,配置的struts2的拦截器,拦截不到东西

问题描述 struts2整合spring3后,指定spring管理action之后,配置的struts2的拦截器,拦截不到东西 struts2整合spring3后,指定spring管理action之后,配置的struts2的拦截器,拦截不到东西,这是什么原因??? Struts2的Action可以交给Spring管理,但Struts2的拦截器就拦截到不到请求了,望高手帮忙! 解决方案 我也遇到同样的问题 不整合的时候struts什么都能拦,整合后就拦不了了

配置文件-spring和shiro集成配置

问题描述 spring和shiro集成配置 在meven项目结构里的spring和shiro集成配置怎么做,我用的mybatis映射数据库的, 我始终没有配置好securityManager,还有缓存的配置文件也不知道怎么写

spring整合struts2怎样配置有多个result的action?

问题描述 spring整合struts2怎样配置有多个result的action? struts.xml中的配置 <action name="User_*" class="userAction" method="{1}"> <result name="list">/list.jsp</result> <result name="save">/save.jsp&