DataSource是什么

public interface DataSource
该工厂用于提供到此 DataSource 对象表示的物理数据源的连接。作为 DriverManager(二者区别:http://tobylxy.iteye.com/blog/1673421  http://jingyan.baidu.com/article/73c3ce280545fae50243d955.html   http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812852.html) 设施的替代项,DataSource 对象
是获取连接的首选方法。实现 DataSource 接口的对象通常在基
于 JavaTM Naming and Directory Interface (JNDI) API 的命名服务中注册。

DataSource 接口由驱动程序供应商实现。共有三种类型的实现:

基本实现 - 生成标准 Connection 对象 
连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。 
分布式事务实现 - 生成一个 Connection 对象,该对象可用于分布式事务,并且几乎始终参与连接池。此实现与中间层事务管理器一起使用,并且几乎始终与连接池管理器一起使用。 
DataSource 对象的属性在需要时可以修改。例如,如果将数据源移动到另一个服务器,则可更改与服务器相关的属性。其优点是,因为可以更改数据源的属性,所以任何访问该数据源的代码都无需更改。

通过 DataSource 对象访问的驱动程序不会向 DriverManager 注册。通过查找操作检索 DataSource 对象,然后使用该
对象创建 Connection 对象。使用基本的实现,通过 DataSource 对象获取的连接与通过 DriverManager 设施获取的连
接相同。

时间: 2024-10-15 18:25:18

DataSource是什么的相关文章

C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结

我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是一些控件: Control: 控件基类,有一个DataBindings对象,它是一个ControlBindingCollection类,这个类继承与BindingsCollection,里面有一个Binding的列表对象,其中Binding对象时一个记录了属性名,数据源,数据成员等的对象.还有个Bi

Spring初学之使用外部配置文件dataSource

一.在Spring的基础上还要另外导入c3p0包和mysql的驱动包. 二.配置文件, jdbc.propertices:这里只做了一些简单配置 user=root password=123 driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc\:mysql\:///test 三.spring配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&

理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处(转)

在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是  jdbc/testDS 数据源: A:java:comp/env/jdbc/testDS B:jdbc/testDS   这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而B方法,则是一个硬引用. java:comp/env 是环境命名上下文(environment naming context(ENC)),是在EJB规范1.1以后引入的,引入这个是为了解决原来J

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat

13.Spring 指定datasource

经常使用dbcp作为数据源配置,还有c3p0 proxool connection conn = datasource.getconnection(); conn.createstatement().executeUpdate("sql"); conn.close(); a)     参考文档,找dbcp.BasicDataSource a)     在DAO或者Service中注入dataSource b)     在Spring中可以使用PropertyPlaceHolderCon

Spring datasource

applicationContext.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="htt

Spark SQL之External DataSource外部数据源(二)源代码分析

上周Spark1.2刚公布,周末在家没事,把这个特性给了解一下,顺便分析下源代码,看一看这个特性是怎样设计及实现的. /** Spark SQL源代码分析系列文章*/ (Ps: External DataSource使用篇地址:Spark SQL之External DataSource外部数据源(一)演示样例 http://blog.csdn.net/oopsoom/article/details/42061077) 一.Sources包核心 Spark SQL在Spark1.2中提供了Exte

datasource配置与参数

datasource接口:提供一种标准化的取得数据库连接的方式. spring.dbcp实现了改接口,把datasource注入到dao. mysql.driver 实现sql语句的crud. dbcp1 参数 <!-- 连接池的最大值 --> <!-- <property name="maxActive" value="500"/> --> <!-- 最大空闲时,当经过一个高峰之后,连接池可以将一些用不到的连接释放,一直减

c#datagirdview ,用DataSource 方式赋值,然后更新出问题问题

先说一下程序 主窗体  ,两个子窗体A,B.嵌入主窗体的Panel里边 主窗体,启动类C里边的查找方法,查到的值,通过事件委托送到窗体A C类里同时修改查询表,把修改的查询表通过事件委托发送给窗体B, 程序运行第一遍,步骤,主窗体查询,A,B窗体都能正常显示. 第二遍,A窗体正常显示,B窗体不能正常显示.内容没有更新 AB窗体内是datagridview控件 个人认为第二次失败原因是B窗体是由C类驱动的事件传递的,C类跟主窗体非一个类倒是,内容更新了而datagridview没有更新,本来dat

spring使用DataSoure注入参数时报No supported DataSource type found

平常阅读源码什么的没有目的性,所以很少去看什么源码,主要是比较绕看起来吃力,所以一般工作只是找个模版模仿一下. 以上废话,割———————————————————————————————————————————————————————————— 最近照常模仿使用了其它项目里的DataSource用法,代码如下: 1 @Bean 2 @Primary 3 @ConfigurationProperties(prefix = "datasource.from") 4 public DataS