First off, think about all of the good things about yourself.
Secondly, remember that you are carrying a life that you will be responsible for for atleast the next 18 years. Not trying to scare you, you should be concious of how EVERY decision you make will effect your child.
Now about your BF, has he always been this way? Were there signs of his behavior there before things got serious, and you didn't see it? Or you didn't want to see it? If he wasn't always this way, then the it could be the stress of having a new child. Maybe he knows the baby will be more important than him and is jelous? He maybe nervous or scard about becoming a father. No matter what the situation is, it is no excuse for him to treat you, the soon to be mother of his child badly. He should have the utmost respect for you, and instead of hurting you or making you feel bad he should be protective of you. A lot of times men want to play, but don't want to pay. He probably doesn't want the responsibitlity.
You definately deserve better, and so does your little one. Stress could cause you to have a miscarriage and several other complications during your pregnancy, you don't need to be stressed. If it will be better for you and your baby to leave, then do it.
If you just don't want to leave (which I think might be best) try and talk with him. See if you can get him to open up. If he shuts you out, or says he will change and doesn't, it's a sure sign it's not going to work. That means that things may only get worse.
You can't be in a relationship by yourself, if he wont' try he's not worth your time. If you still don't want to leave him permantly leave for a while. Maybe being lonely or having you away will show him what he could lose. Also remember you can't force anyone to love you. Remember to love yourself, and remember your baby will love you no matter what. I will pray for you, and I hope this helps.