As many have suggested, I would start to look for new employment. Not because your boss is awful, but because you have the option to be happy.
Whatever his reason for being a douche, is none of your concern. He might be getting heat from hire up. Maybe his home life is screwed, maybe he hates gays, or maybe your performance hasn't been up to his standards lately.
All except for the last, are things you can't do a thing about. You should at least find out what it is that has set him off, because you can't fix what you don't know is wrong.
If you really love your job, make sure he can't question your work. Instead of showing up 3 minutes late (which adds up to an hour in a four week period), show up 15 minutes early. Check, double check, and triple check your spelling, (No shade, just tea), make sure your inventory is tight with no errors. If you handle money, make sure your till is balanced to the penny every day.
If your job deals with customer service, make sure you are giving the best you possibly can within the realm of company policy.
In the meantime, just keep swimming until the tide changes, and keep your eyes open for better opportunities.