The first step is to teach your dog the "down" position. To do this, choose your command first to give the dog when they are in the "sit" position.
Most people use the command "down", but any consistent command you prefer will be fine. You may have to use your hand to gently nudge the dog into a laying position.
Once your dog is doing well with "down", you can move on to "over". Use this command when your dog is in the "down" position.
Hold a treat on one side of the dogs body, and say "over" as you gently nudge the opposite shoulder to get the dog to lay on their side and relax there. Once they are laying on their side, give them the treat and praise him again
Once you have successfully taught the dog the "down" and "over" commands, it is time to move on to teaching them how to lay on their back.
This is the key step when you are trying to teach a dog to roll over . Again, you have to choose your command. "Back" and "belly" are both options to use, or you can use a more creative phrase, like "show me your belly".
From the "over" position, say your command for "back" and immediately start giving them a good belly rub. As the dog begins to adjust his body to give you more access to rub his belly, gently push him barely onto his back, while maintaining the belly rub. Make sure to give him a treat and praise him. You will notice that he will probably flip onto his back immediately expecting the belly rub.
Then the last step to teach a dog to roll over is simple; from the "back" position, just offer another treat to the side of the dog and say "roll over" the dog will naturally roll over towards the treat. Praise him and give him the treat, and enjoy his new trick.
This trick can be quite hard to get right so remember to keep training sessions short, about 10 minutes a day should be enough. Keep working on it over a few weeks and in time your dog will be able to roll over no problem.