David, 31, started his career as a youth player at Sunderland before moving over to Darlington. He broke into their first team and made his debut against Kidderminster Harriers in November 2001.
In 2004, David was first loaned out to York City and the Minstermen would become his home permanently in 2006.
During his eight year stay at York City, he went on to make over 280 appearances and he helped the club to regain its league status at the end of the 2011-2012 season.
David said: I am really excited about the season ahead.
I have seen some fantastic players come into the club recently.
I believe that with these new faces we can be pushing towards the top part of the table and hopefully get the club into the Conference Premier.
Manager Simon Weaver commented: I am very happy that we have agreed terms with Dave.
He brings with him a wealth of experience and professionalism and is still very hungry for success.