Boa tarde.
Estou usando o seguinte código para criar uma conexão com o banco de dados MySql.
public class BDConnection
{
public static Connection getConnection ()
{
Connection con = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
String connectionUrl = "jdbc:mysql://localhost:3306/vicosa_negocios?" + "user=root&password=z9m7pq36";
con = DriverManager.getConnection(connectionUrl);
}
catch (SQLException e)
{
System.out.println("BDConnection:: SQL Exception: "+ e.toString());
}
catch (ClassNotFoundException cE)
{
System.out.println("BDConnection:: Class Not Found Exception: "+ cE.toString());
}
return con;
}
}
Ele funciona! 
O que não estou entendendo é que as vezes ele não retorna uma conexão, e sim null.
Por exemplo, se eu ficar recarregando uma certa página várias vezes tem hora que da um erro tipo java.lang.NullPointerException.
E quando olho onde é, sempre aponta para “stmt = con.createStatement();”. Ou seja, con é null.
Algupem sabe me dizer porque isto está acontecendo?
Obrigado!
Abraço, Bottoni

