Ich weiß nicht, ob es für den Anwendungsfall vielleicht sogar Sinn macht, ein einfaches "Select 1" auszuführen ( - Bei älteren postgres, oder mssql (bin ich mir nicht mehr ganz sicher) Datenbanken lieferte das manchmal ein Ergebnis zurück, obwohl die DB hinten dran futsch war. Dadurch konnte zwar der Zustand der Verbindung überprüft, jedoch nicht die Funktionalität der DB sicher gestellt werden).
Es gibt keinen mir bekannten Anwendungsfall, in der solch eine Prüfung notwendig ist.
Aus meiner Sicht ist folgende Vorgehensweise sinnvoll:
Normal arbeiten, als wäre immer alles in Ordnung. Falls irgendetwas mit SQLException kommt, erst versuchen ein Rollback durchzuführen, dann versuchen die Connection zu schließen und danach neue Verbindungversuche ausführen.
Eine Prüfung, ob die DB noch vorhanden ist, ist eh nur zum Zeitpunkt der Prüfung gültig. Danach weiß man eh nicht, ob der nächste Aufruf funktioniert oder nicht. Deshalb hat diese Prüfung einen Aggregatzustand kurz vorm verdampfen... ist also überflüssig.
Die "regelmäßige" Konsultierung der DB kann Sinn machen, wenn zwischen Transaktionen sehr viel Zeit vergeht, sodass man in das Problem der Closed Sessions läuft. Aber das hat erstmal nichts mit einer Prüfung zu tun, sondern ist ein Proaktives Verhalten der Anwendung, um die Session am laufen zu halten. Aber selbst diese Anforderung wäre mit dem o.g. Verfahren erschlagen.