This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'd forget about mocking an entire database. If you adopt the Data Access Object (DAO) to abstract and encapsulate access to the database, such an object would be a convenient candidate for a test double (possibly using EasyMock). Eventually you'll want to unit test the DAO itself, and then it would make sense to utilize some sort of ligthweight in-memory database, instead of the heavyweight (network accessed) production database server, and employ a library like DbUnit. That's as far as I'd take it for the purpose of unit testing. Eventually, though, you'll want to integrate every system component and test against the real thing, but that's well beyond the scope of unit testing.
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.