Personally, I tend to follow the same mojoPortal database access methods in my custom code. A big reason for this is I like to leverage the delivered CodeSmith templates to automatically build large portions of my data layers. It's a huge time saver.
Jamie