Ajuda com Criação de Arvores Binárias e Organogramas

Olá, estou atualmente projetando uma aplicação para o trabalho da instituição de ES que estudo, porém tive devidamente grandes problemas, tanto em relação a crianção da conexão com o BD quanto com a criação da arvore. Enfim, o proposito da criação é que possa imprimir uma arvore genealogica no estilo organograma em Java e assim possa estar associada com o BD que no caso é MYSQL, porém não tenho nunhum conhecimento sobre conexão com JDBC ou qualquer outro e nem com criação de arvore inteligente.

Se alguem puder me ajudar msm, dando conselho ou indicando bibliotecas em java que façam ficar funcional e pratico de fazer, eu agradeço muito.

Ps. Ainda aprendendo a mexer com Java e Mysql

Aqui um exemplo de ConnectionFactory do MySQL.

package dao.mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

    public class ConnectionFactory {

    	private static Connection con = null;
    	private static final String banco = "teste";
    	private static final String user = "root";
    	private static final String password = " :senha: ";

    	public static Connection getConnection() {
    		if (con == null) {
    			try {
    				Class.forName("com.mysql.jdbc.Driver");
    				con = DriverManager.getConnection("jdbc:mysql://localhost/" + banco, user, password);

    			} catch (SQLException | ClassNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		return con;
    	}

    }