The canonical way to do this is to pick two distinct primes. The primes $2, 3$ are good choices. Then use $2^{a}3^{b}$. Since $2, 3$ are prime, you will have an injection. This is actually sufficient to show countability- mapping a set to $\mathbb{N}$ with an injection. It doesn't have to be onto.
I'll add more on one-to-one to address your comment about why we don't need an explicit bijection. Consider sets $A = \{a, b, c\}$ and $B = \{1, 2\}$. How many injections can we have from $A \to B$? How many injections can we have from $B \to A$? To answer these questions, it is important to understand what an injection gives us. The definition states that no two distinct elements in the domain map to the same element in the codomain. So there are no injections from $A \to B$, because at two elements would have to map to either $1$ or $2$. However, we can have an injection from $B \to A$. Why is this? It's because we can uniquely map $1$ and $2$ to elements in $A$. Injectivity from $X \to Y$ holds up to the point where $|X| = |Y|$. Otherwise, we see a case like trying to map $A \to B$. So an injective function gives us $|X| \leq |Y|$.
Here you are mapping $\mathbb{N} \times \mathbb{N} \to \mathbb{N}$. You want to show that $|\mathbb{N} \times \mathbb{N}|$ is countable. This means that $|\mathbb{N} \times \mathbb{N}| \leq |\mathbb{N}|$. If we wanted a strict equality (ie., $|\mathbb{N} \times \mathbb{N}| = |\mathbb{N}|$), then we would need to show a bijection. However, an injection into $\mathbb{N}$ suffices for countability.
Does that clear things up?