DriverManager управляет всеми JDBC-драйверами в приложении. Представляет набор статических методов. Лениво загружает системным класслоадером доступные предсконфигурированные драйверы:
• По списку полных имен классов из проперти
jdbc.drivers;• Через Service Provider Interface (SPI).
Менеджер занимается созданием экземпляра Connection – ключевого класса при работе с базой данных. Альтернативный менеджеру (и даже рекомендуемый) способ соединения с источником данных – ConnectionBuilder. Билдер получают из
javax.sql.DataSource – формально это часть Java EE, так что здесь не будем подробно на нем останавливаться.Driver – главный класс реализации JDBC-драйвера. Когда загружается класслоадером, сам регистрирует себя в
DriverManager. Так что кроме предсконфигурированных драйверов, дополнительные можно загрузить просто вызвав Class.forName.Можно явно создавать
Connection через драйвер, минуя менеджера и билдер. Драйвер предоставляет информацию о возможных/требуемых для своей работы свойствах в виде массива DriverPropertyInfo.DriverAction – дополнительный интерфейс, который должен реализовывать
Driver, если хочет получать уведомления о разрегистрации DriverManager-ом.👉@BookJava