- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在阅读 Java JDBC 规范 (vr. 4),我遇到了这样的声明:
DataSource — this interface was introduced in the JDBC 2.0 Optional Package API. It is preferred over DriverManager because it allows details about the underlying data source to be transparent to the application
我想了解的是 Connection
和 DataSource
之间的区别,以及它存在的原因。我的意思是,上面的 block 说有关数据源的详细信息对应用程序是透明的,但不会在属性文件中外部化数据库属性(例如用户名、密码、url 等)然后使用 DriverManager 以相同的方式工作?
创建 DataSource
接口(interface)是否只是为了有一种通用的方式来返回可以池化的连接等?在 Java EE 中,应用服务器是否实现了此接口(interface),并且部署的应用程序是否具有对数据源而不是连接的引用?
最佳答案
更好的可扩展性和维护
对于DriverManager
,您需要了解所有详细信息(主机、端口、用户名、密码、驱动程序类)才能连接到数据库并获得连接。将它们外部化到属性文件中并不会改变您需要了解它们这一事实。
使用 DataSource
您只需要知道 JNDI 名称。 AppServer 关心细节,不是由客户端应用程序的供应商配置,而是由托管应用程序的管理员配置。
可扩展性:
假设您需要自己创建连接,您将如何处理不断变化的负载,有时您有 10 个用户有时您有 1000 个用户,您不能只在需要一个连接时获得连接,然后“释放”它以便数据库服务器不会脱离连接,这会导致您进入连接池。 DriverManager
不提供,DataSource
提供。
如果您要自己编写连接池,则必须使用 DriverManager
,否则请使用 DataSource
。
关于java - 为什么我们使用 DataSource 而不是 DriverManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15198319/
更新:将代码更改为立即调用并分配 dataSource ,但我仍然遇到相同的结果,但 sourceData.paginator 正在运行。 sourceData.filter 和 sourceData
我想以编程方式设置我的数据源的模型。像这样的东西: var ds = new kendo.data.DataSource({ //... }); var mod = kendo.data.Model.
我有一个多模块 maven 项目,我想将它与 一起使用tomcat7 maven插件并开始: mvn tomcat7:run 但我不知道如何配置 jndi 数据源。 我试图放入我的 pom.xml:
任何人都可以提供有关如何执行此操作的说明吗?我设置了几个不同的 JDBC 数据源,并希望能够配置用户使用不同的数据源运行相同的报告。例如。当用户A登录并运行报表A时,使用数据源1;当用户 B 登录并运
过去几周我从这个网站收集了许多有用的答案。我加入是为了对一些我认为最有帮助的答案+1,但目前还无法做到这一点。不过谢谢! 我的问题是 JBoss 7 AS 部署错误,我似乎无法追踪任何相关信息。它开始
我们遇到了一个 problem哪里 我们在一个 MDI 工作区中有两个相同窗口的实例,它们绑定(bind)到两个单独的对象模型。 对象模型覆盖了它们的 .Equals 和 .GetHashCode 方
当我运行我的独立 Web 应用程序时,spring 无法实例化数据源 bean。请注意,我不想在此项目中使用 JPA 或休眠。在这一点上我不知道为什么。我最好的猜测是依赖项或语法问题,但我无法找到解决
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我的项目使用springBoot2,并且不需要连接数据库,但是springboot自动配置数据源并在启动项目时抛出异常。我已经添加了执行,但它不起作用 @SpringBootApplication(e
我指的是下面的链接来设置环回框架并创建简单的 API https://docs.strongloop.com/display/public/LB/Getting+started+with+LoopBa
我在 SPringBoot 中的数据源有问题。我想使用 JDBC 并从数据源获取数据,但出现错误:说明: com.example.My.MyApplication 中的字段 dataSource 需要
这是在我的 spring-servlet.xml 文件中定义的具有此 id 的 bean 这是完整的堆栈跟踪 SEVERE: Exception sending context initialize
我正在尝试使用 Spring、Maven 和 Hibernate 创建一个访问 sql server 数据库的应用程序。当我尝试运行应用程序时出现以下错误: Exception in thread "
当我运行我的网络应用程序时抛出以下错误。 Exception encountered during context initialization - cancelling refresh attemp
我正在研究 Spring Boot JDBC MYSQL 示例。在这个例子中,我使用了 1.3.1.RELEASE spring boot starter 版本,当时我使用了以下 2 spring.d
Feb 20, 2012 6:30:45 AM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring ro
我引用了网址:https://o7planning.org/en/11727/understanding-spring-cloud-config-client-with-example没有任何自定义,
spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:mysql://localhost:3306/study?serverT
我有一个多线程作业(同时运行 6 个作业),这些作业使用 3 个数据源(第一个数据源上有 2 个,第二个数据源上有另外 2 个,第三个数据源上有最后 2 个)。 /* *************
我正在尝试实现从CurrencyExchange模块到CurrencyConvert的开放字段调用,但我被这个错误卡住了。有谁能帮帮我吗?我已经检查了其他答案,并试图添加#spring.datasou
我是一名优秀的程序员,十分优秀!