Acceptance, you need to take responsibility for what you did, though it wasn't intentional, you hurt him. And you need to accept that sometimes, however sorry you are, sometimes it just isn't enough. The relationship you had is over, and you need to forgive yourself for it. You care about him, and as hard as it is, you need to respect his choice, and let it go. The past is in the past, it's no point in living in the past, look forward.
We all make mistakes, no one is perfect, humans are full of flaws and errors, and this will undoubtedly not be the last one you make, and that's okay. That's how we learn. All you can do is apologize, and promise do to better next time. Don't be afraid of getting to know someone knew. I think that's where the real problem is, you haven't dated anyone because you don't trust yourself fully to not make that same mistake. There is a reason it didn't work out. It doesn't mean your doomed to never have a fair chance at a relationship.
You are the first priority, trust yourself. And then, allow at least the idea to let someone else in. If you never take a chance, you'll never know how great it could be.
I'd suggest writing a letter to him, you don't have to send it, just write it down, everything you wish you could say, get it all out and let it go. The choice has already been made, and you can only deal with the consequences afterwards. You both deserve to be happy. Don't ever think you don't deserve that, because you do, as much as anyone else. And while it may not be with him, it doesn't mean it could never happen.