<human>: Summarize the given text in a few sentences.

My boyfriend gets mad over a lot of things and is so mean when he does. He says the worst things to me and refuses to take fault for anything. If he does something he'll turn it onto me and get angry. He has called me useless, implied I am a slut (not at all true, he is the only person I have ever slept with), told me he hates everything about me and doesn't like me, and many things. He gets mad if I refuse to have sex with him, if I have to leave him for some reason he claims I don't like being with him and will not leave it alone. He constantly calls me a liar and doesn't ever believe me even though I have never lied to him. However I know he would never physically hurt me, and he is always very stressed because of his family problems and tells me he "doesn't need this" (our relationship) and claims I am always stressing him out even more. When he is upset he says I am the worst girlfriend ever but when he is happy he says I am the best girlfriend ever. He is angry at me about 70% of the time. I am in love with him and would never break up with him. He knows this. He also stresses me out extremely, along with my mother and I am always upset, yet he is the only one that can cheer me up and help me to feel better. What should I do?
<bot>: Boyfriend gets angry with me often and is mean, yet he is the only one that can cheer me up and help me to feel better. What should I do?