Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从DataSource getconnection()连接到Mysql会话之间有什么区别?_Java_Mysql_Jdbc - Fatal编程技术网

Java 从DataSource getconnection()连接到Mysql会话之间有什么区别?

Java 从DataSource getconnection()连接到Mysql会话之间有什么区别?,java,mysql,jdbc,Java,Mysql,Jdbc,我想知道每次我从数据源获得一个带有ds.getConnection()的连接时,是在我的应用程序和MySQL实例之间创建一个新的会话,还是存在一些重用逻辑 数据源创建的每个连接对象都表示到数据库的连接—即数据库中的会话 数据库配置为支持的最大连接数限制了应用程序可能同时打开到数据库的活动连接对象的数量 但是,如果驱动程序支持连接池,并且代码中使用了连接池,那么关闭代码中的连接对象只会将连接对象返回到池,而不会关闭到数据库本身的连接。连接池中的连接对象可以在以后的代码中重用,而无需创建到数据库的新

我想知道每次我从数据源获得一个带有ds.getConnection()的连接时,是在我的应用程序和MySQL实例之间创建一个新的会话,还是存在一些重用逻辑

数据源创建的每个连接对象都表示到数据库的连接—即数据库中的会话

数据库配置为支持的最大连接数限制了应用程序可能同时打开到数据库的活动连接对象的数量

但是,如果驱动程序支持连接池,并且代码中使用了连接池,那么关闭代码中的连接对象只会将连接对象返回到池,而不会关闭到数据库本身的连接。连接池中的连接对象可以在以后的代码中重用,而无需创建到数据库的新连接


有关详细信息,请参阅上的Java文档。

这取决于您如何配置数据源。如果将其配置为池数据源,则将打开N个会话,然后重新使用连接。@反斜杠我想知道的是以下情况是否正确:1个连接=1个会话?每个连接使用一个会话,但是,关闭连接并不一定意味着会话也关闭。请参阅@BackSlash对池的评论。因此,如果mysql服务器配置为有50个会话,那么您的应用程序可以有50个并行连接。@Shadow您能否通过提供指向记录此会话的位置的链接来回答此问题?