Java 使用连接池时更新数据源

Java 使用连接池时更新数据源,java,mysql,connection-pooling,hikaricp,Java,Mysql,Connection Pooling,Hikaricp,我正在运行一个应用程序,它使用连接池来管理从数据库获取的数据。对于连接池,我使用HikariCP 当第一个应用程序运行时,另一个应用程序会更新数据库。 为连接池创建的数据源是否也会自动更新?如果没有,我怎么做?我是否应该在每次数据库更新时创建一个新的连接池 例如: 数据库中有一个学生的成绩记录。 已为连接池创建数据源。 然后学生的成绩就改变了。 如何更新数据源 任何帮助都将不胜感激。多谢各位 希望可以消除你的困惑 大多数应用程序只需要一个线程就可以访问JDBC 当他们正在积极处理事务时的连接,这

我正在运行一个应用程序,它使用连接池来管理从数据库获取的数据。对于连接池,我使用HikariCP

当第一个应用程序运行时,另一个应用程序会更新数据库。 为连接池创建的数据源是否也会自动更新?如果没有,我怎么做?我是否应该在每次数据库更新时创建一个新的连接池

例如: 数据库中有一个学生的成绩记录。 已为连接池创建数据源。 然后学生的成绩就改变了。 如何更新数据源

任何帮助都将不胜感激。多谢各位

希望可以消除你的困惑

大多数应用程序只需要一个线程就可以访问JDBC 当他们正在积极处理事务时的连接,这 通常只需几毫秒即可完成。当不处理 事务时,连接处于空闲状态。连接池使 空闲连接将被其他线程用来做有用的工作

实际上,当线程需要对MySQL或其他 数据库,它从池中请求连接。当 线程使用完连接后,会将其返回到池中,因此 它可以被任何其他线程使用


无论是否使用连接池,其他应用程序对数据库的更新都会正常进行,每次查询数据库时都会看到新数据。您无需“更新连接池”

此图可能有助于您了解实际发生的情况:

Java所称的“数据源”是一个抽象概念,表示数据的位置,而不是数据本身。您可以创建到一个数据源的多个连接,但只有该数据的一个副本,由数据库服务器控制


如果您从一个应用程序更新数据,则您正在通过连接向数据库服务器发送一条消息,以更改数据存储中保存的数据。提交的更改对任何其他应用程序都是立即可见的,因为它们都使用相同的数据库(即相同的物理数据存储)。

当数据库更改时,为什么连接池需要更新?对于投票以“不清楚”关闭的人,根本不清楚OP的要求。很明显,他需要帮助理解什么是数据源,以及到数据库的连接(特别是在池上下文中)是如何工作的。仅仅因为用户问了一个非常基本的问题并不意味着这是一个无效的问题。谢谢@daiscog@daiscog这可能是你的猜测,但它不是这里写的。如果OP的问题不清楚,则由他来澄清,而不是由我们来猜测。很高兴能帮上忙,这说明了更多的问题+1