We went a few years ago and stayed at the Atlantic Hotel which is right in Banjul and gave access to the local way of life, I prefer that to laying on the beach all day.
However looking at reviews it seems that the hotel has seriously dipped its standards and although being a 5* people are saying 3* at maximum, so I can't recommend it.
There are a few hotels around Banjul but the majority are out on the coast and are more isolated from busy Banjul and its people, markets etc.