Yes, training to go to a mat is effective.
Another method that is more direct to the dog's mind.
The dog is jumping to greet you, he is excited to see you, he wants your attention. This takes a strong mind, but you need to ignore the dog. Don't talk to the dog, or pet or touch or look. Simply, cross your arms, close your mouth and turn to face another direction. The dog will likely move to your front, turn again and simply stand, make like a post. When the dog settles, then give a touch and verbal praise. Soon, the dog will learn the quickest way for your attention is to be calm and not jump.
If turning away is not effective, then you can use your hands. Extend your arms, palms down at about waist level. This is when you need to be like a post or a tree. If the dog jumps to hit your hand do not give, make like the dog is hitting a solid object. Also, no talking and avoid looking. This is a blocking position.
Remember, the dog wants your attention. Ignoring him while jumping is denying the attention reward.
Get this solved, then you can move on to the next training about greeting visitors.
Step by step.