Пуловете за връзки украсяват екземплярите на Connection и Statement със собствени реализации на обвивка. Когато се обадите за затваряне на връзка, вие всъщност просто я пускате обратно към пула. Когато извикате close на подготвен оператор, вие всъщност просто го пускате обратно в кеша на оператора на връзката. Когато подготвяте израз, може просто да извличате кеширан екземпляр на израз от връзката. Всичко това е скрито от очите, така че да не се притеснявате за него.
Когато връзката е дадена на клиент, тя вече не е достъпна за използване от друг клиент, докато връзката не бъде освободена обратно към пула. Обикновено просто извличате връзки, когато имате нужда от тях и след това ги връщате веднага щом приключите с тях. Тъй като връзките се държат отворени в пула, има малко излишни разходи при извличане и освобождаване на връзки.
Трябва да използвате връзка от пула точно както бихте направили единична JBDC връзка и да следвате най-добрите практики по отношение на затварянето на ресурси, така че да не изтичат никакви връзки или изрази. Вижте примерите try/catch/finally в някои от другите отговори.
Пуловете могат да управляват ресурсите за връзка и да ги тестват, преди да ги раздадат на клиентите, за да се уверят, че не са остарели. Освен това пулът ще създава и унищожава връзки, ако е необходимо.