Подобный вопрос про организацию взаимодействия с БД задают часто.
Если в кратце, то есть два популярных шаблона DataMapper и ActiveRecord. Первый считается более правильным с точки зрения канонов ООП.
Как и многие я тоже в своё время писал свой микрофреймворк (да и использую время от времени).
Можете посмотреть на мою незамысловатую реализацию DataMapper (DAO):
базовый класс и
потомок