我的应用程序有时可能会失去与MySQL数据库的连接。我认为,好的解决方案是安排一些计时器,以便在一段时间后尝试重新检查。可以做得更好吗?可能是尝试连接到数据库的单独线程?还是存在标准做法?谢谢。
JDBC是开始构建Java数据库应用程序的好方法,但是管理对象映射和连接/事务可以非常迅速地导致大量样板工作和逻辑重写,许多程序员已经多次编写了该逻辑。
除非您有高吞吐量的应用程序,否则应该正常地断开/关闭连接,在这种情况下,您可能会保持几个连接处于活动状态(这称为连接池)。
基本上有3种“高级”方法来维护有效的连接和事务:
1)最简单的解决方案是检查何时重新使用连接以确保其有效,或者每次都重新打开它。
2)一个更复杂的解决方案是使用连接池机制,例如apache http://commons.apache.org/dbcp/ dbcp库。
3)最后,在我看来, 最可维护的解决方案是使用ibatis / hibernate之类的JDBC框架 , 该框架 将为您提供一个简单的声明式接口来管理对象关系映射/事务/数据库状态,同时透明地维护您的连接逻辑。
还:如果不是您要使用对象关系映射,则可以使用apache之类的框架(例如DBUtils)来管理查询和连接,而不会影响繁重的数据映射。