Découplage des controleurs
Les contrôleurs ne devraient pas être liés à une source de données en particulier. Les DAOs servent précisément à découpler les objets et les contrôleurs de la BD. Pourtant, dans tous les contrôleurs, on effectue la connexion à la BD pour la passer aux DAOs.
Pour découpler les contrôleurs des sources de données, il faudrait que les DAOs initialisent eux-même leur connexion (probablement dans la classe DAO). On pourrait alors retirer toute référence aux packages jdbc et surtout java.sql.
Les DAOs devraient, en cas d'échec, lancer une exception générique (le type est à déterminer) et non une SQLException.