java datasource啥模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java datasource啥模式相关的知识,希望对你有一定的参考价值。

  先看看JDK中对DataSource的描述:
  作为 DriverManager 工具的替代项,DataSource 对象是获取连接的首选方法。
  基本实现 - 生成标准的 Connection 对象
  连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
  简单来说,就是获取数据库连接的一个通用接口, 常见的dbcp,c3p0,druid,bonecp都是DataSource的实现.
参考技术A datasource在使用完后也是需要关闭的
无论是否使用连接池。如果没使用连接池那么connection关闭是真正的关闭数据库连接,使用连接池的话connection关闭实际上是将connection放回到连接池而非真正关闭连接。使用连接池的目的就是防止频繁创建关闭connection,连接池会对connection复用,就是多次重复使用。

ASP.NET - DataSourceID 和 DataSource 有啥区别?

【中文标题】ASP.NET - DataSourceID 和 DataSource 有啥区别?【英文标题】:ASP.NET - What is the difference of DataSourceID and DataSource?ASP.NET - DataSourceID 和 DataSource 有什么区别? 【发布时间】:2011-10-28 14:48:15 【问题描述】:

DataSourceID 和 DataSource 从控件的属性有什么区别?我可以互换使用它们吗?

当我尝试在设计时设置 DataSource 属性时,通过在 aspx 页面上键入它,我收到一个异常,提示“无法以声明方式设置 'DataSource' 属性。”。但是当我使用属性窗口更改DataSource时,它也不例外。

【问题讨论】:

blog.tylerholmes.com/2008/06/… 【参考方案1】:

DataSourceID 可以分配其他类型的数据源控件的 ID,例如 ObjectDataSource XmlDataSource

数据源控件概述:

http://msdn.microsoft.com/en-us/library/ms227679.aspx

还有各种其他类型的数据源控件,或者您也可以开发自己的。

Datasource 用于当你想直接给源控制,如DataSetDataTable

【讨论】:

【参考方案2】:

DataSource: 获取或设置数据绑定控件从中检索其数据项列表的对象。 (继承自BaseDataBoundControl。)

DataSourceID: 获取或设置控件的 ID,数据绑定控件从中检索其数据项列表。 (继承自DataBoundControl。)

其次它们可以使用interchangeably,但你必须小心使用。例如如果你先分配dataSourceID,然后想使用DataSource,那么在使用DataSource之前,你必须通过设置ControlID.DataSourceID = ""来清除datasourceID

【讨论】:

【参考方案3】:

DataSource是指实际数据源对象,可以是.NET提供的数据源控件(如ObjectDataSource、SqlDataSource),也可以是DataTable、对象集合等实际数据对象。

DataSourceID 是 .NET 提供的数据源控件的字符串标识符,并且该属性存在以便可以在设计时在标记中关联数据绑定控件和相应的数据源。在内部,控件将使用提供的 id 查找实际的数据源控件。

【讨论】:

以上是关于java datasource啥模式的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot集成前端模版(thymeleaf)

基于 dynamic-datasource 实现 DB 多数据源及事物控制读写分离负载均衡解决方案

19.springboot+mybatis多数据源

springboot启动报错:Failed to configure a DataSource

DataSource.getConnection 方法在数据库重启或理想超时后返回一个已经关闭的连接

spring声明式事务的配置