1

我在 jdbc 连接中使用了MySqlDataSource。我使用了以下代码

MysqlDataSource d = new MysqlDataSource();
d.setUser("user");
d.setPassword("pass");
d.setServerName("hostname.com");
d.setDatabaseName("db");
Connection c = d.getConnection();

我还搜索了在 Apache Tomcat 中配置 MySQL 数据源的选项。

这两者之间有性能差异吗?哪个最好用?

4

3 回答 3

1

在 tomcat 中配置Datasource将帮助您在同一tomcat中运行的应用程序之间共享相同的数据源。该数据源将由容器(在您的情况下为tomcat)管理。

而在代码中创建的数据源将由您的应用程序创建,并且只能由该应用程序使用。

因此,如果您在 tomcat 上运行多个应用程序并访问相同的数据源,那么在tomcat中配置数据源将是一个好方法并且具有性能因素,因为只创建一个数据源并且每个应用程序没有单独的连接

但是,如果您只有一个应用程序,那么您使用的第一种方法是好的

于 2013-02-15T08:19:29.023 回答
0

他们都在内部使用相同的驱动程序,我认为这里的性能没有太大的不同,我想如果你只需要在那个地方访问数据库并且最终用户不应该使用他自己的身份验证,你可以直接使用它java,但是如果您需要在不同的地方进行连接,使用 apache 配置进行配置可能会有所帮助,特别是如果数据库服务器、用户名或您不需要在代码中更改它的任何内容发生更改,如果最终用户必须设置自己的配置,这可能非常重要。

于 2013-02-15T08:18:40.297 回答
0

配置Connections池的改进(就像tomcat提供的那样)主要是您实际上会创建和关闭更少的连接。

使用池时,当您Connection向池请求 a 时,它会查看它是否已创建任何连接并可供重用,如果有,它将为您提供它(而不是创建一个新的 Connection,这是一个繁重的操作)。您仍然必须close()ConnectionTomcat 提供,以便 Tomcat 知道它现在可以在再次请求时重用。

此外,池的优点是您的代码不需要知道Connection. 他只是Connection从给定的池中请求一个并且系统管理员对其进行配置,从而提供更大的灵活性(系统管理员不需要知道如何配置您的应用程序,只需要知道如何配置 Tomcat,这是相当标准的)。

于 2013-02-15T08:26:50.713 回答