You are a good person! Too good in fact.
Wanting to care for someone else does not make you a bad person. The problem here is when you are a giver and the other person is a taker. In a healthy relationship both people take care of each other, its all about balance! There is no balance in this relationship...he's taking, taking, taking and will continue to do so until there is nothing left of you. The only way to stop it is to stop it. We all know how hard that is but it's the only thing you can do to take control of the situation and your life. you can do it and you deserve to be happy.
((hugs)) to you