Is my boyfriend abusing me?

I've been with a guy for almost 3 months and he isn't always that nice to me. I've been called an idiot, asshole, fake, dickhead, dumb, and that I have a flabby vagina after he found out how many sexual partners I had. (He often times says he's joking about those names) He said he would forget but I'd never be forgiven for that number even though it was all before him and he knows that. He often gets mad at me for little things like yesterday I was at the mall trying to find something for him from my home state and he says he needs books not that; he also brings up that I buy books for other people's kids (I'm a nanny and I am going to school to work with children) but not him. I have given him so much and never got anything from him. He got me nothing for my birthday, but wanted me to buy some alcohol for him. Should I leave this relationship?