Why are you agreeing to things that you actually have control over, and then blaming him for it, when you could have said no?
You are already at the right age to make your own decisions, especially when you already know what is right for you. It is time to leave him.
But at the same time, it was also a mistake that you allowed him to get used to that kind of control. If you had set boundaries from the beginning, this situation might not have happened.
It’s up to you whether you will still give him another chance, but if you do, you should already know what you need to do moving forward.