Bom. Não é à toa que você não consegue. Seu código está bem desorganizado, está na cara que você está começando.
Bom, vou te dar umas dicas:
a) Crie uma classe chamada Contato. Nela, você põe os atributos id, nome, telefone1, telefone2 e celular. Ponha os gets e sets, mas não ponha nenhum método para carregar nada do banco. Ponha nela também um construtor, que constrói o contato com base nesses dados.
b) Crie uma classe chamada ContatoDao. Nela, você coloca o método que carrega os contatos do banco. Esse método deverá retornar um List<Contato>;
c) Aí sim, você cria o ContatoTableModel. Nele, você terá um array de strings com o título, e um List<Contato> (no lugar do object[][]). Quando você chegar nessa fase, aí sim, falaremos só do model.
Não se preocupe, você está no caminho certo. Mas um pouco mais de organização te ajudará a chegar no seu objetivo mais facilmente.