Это просто прослойка между нашим кодом и базой данных. На самом деле, базы данных все разные и если бы не было такой возможности как драйвер, нам бы пришлось постоянно делать каждой базе свой набор классов, методов, функций и алгоритмов.
В любой сборке, есть настройка (конфиг)
Driver = org.mariadb.jdbc.Driver
или
Driver = com.mysql.cj.jdbc.Driver
и т. д.
На самом деле, драйвер заменяет базу данных, а оболочку, ту самую модель не трогает. По этому код один, а базы разные.