Falha na conexao entre Mysql(Wamp) e aplicação Java
Olá Senhores(as), estou tentando fazer uma conexão entre o meu banco de dados Mysql e uma aplicação java mas não ta funcionando de forma alguma, comecei a estudar a matéria recentemente e estou ficando viciado em java, mas não consigo de forma alguma fazer a ponte com o banco de dados, se alguem puder me ajudar vou agradecer muito.
Segue abaixo o meu codigo:
package conex2019;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexaoMysql {
private final String host = "localhost";
private final String port = "3306";
private final String db = "testejava";
private final String user = "root";
private final String password = "abcd1234";
private Connection conexao = null;
public ConexaoMysql() {
estabelecerConexao();
}
private void estabelecerConexao(){
String url = "jdbc:mysql://addres=(host="+host+")( port = "+port+")( user = "+user+")(password = "+password+")/"+db+"? useTimezone=true & serverTimezone=UTC & useSSL=false";
try {
conexao = DriverManager.getConnection(url);
} catch (SQLException ex) {
conexao = null;
}
}
public Connection getConnection(){
if(conexao == null){
estabelecerConexao();
if(conexao!=null && isConectado()){
return conexao;
}else{
return null;
}
}else{
if(isConectado()){
return conexao;
}
}
return null;
}
public boolean isConectado(){
if(conexao == null){
return false;
}else{
try {
if(conexao.isValid(0)){
return true;
}
} catch (SQLException e) {
conexao = null;
return false;
}
}
return false;
}
public void fecharConexao(){
if(isConectado()){
try {
conexao.close();
} catch (SQLException ex) {
conexao = null;
}
}
}
Segue abaixo o meu codigo:
package conex2019;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexaoMysql {
private final String host = "localhost";
private final String port = "3306";
private final String db = "testejava";
private final String user = "root";
private final String password = "abcd1234";
private Connection conexao = null;
public ConexaoMysql() {
estabelecerConexao();
}
private void estabelecerConexao(){
String url = "jdbc:mysql://addres=(host="+host+")( port = "+port+")( user = "+user+")(password = "+password+")/"+db+"? useTimezone=true & serverTimezone=UTC & useSSL=false";
try {
conexao = DriverManager.getConnection(url);
} catch (SQLException ex) {
conexao = null;
}
}
public Connection getConnection(){
if(conexao == null){
estabelecerConexao();
if(conexao!=null && isConectado()){
return conexao;
}else{
return null;
}
}else{
if(isConectado()){
return conexao;
}
}
return null;
}
public boolean isConectado(){
if(conexao == null){
return false;
}else{
try {
if(conexao.isValid(0)){
return true;
}
} catch (SQLException e) {
conexao = null;
return false;
}
}
return false;
}
public void fecharConexao(){
if(isConectado()){
try {
conexao.close();
} catch (SQLException ex) {
conexao = null;
}
}
}
Davi
Curtidas 0
Respostas
Thiago Moreno
04/06/2019
tente escrever sua url direto, sem montar. cole o retorno do erro de sua excecao.
outra coisa, troque a versao do seu driver do mysql para a 5.1.42
eu tenho esse modelo de classe
mas para usa-la, voce vai precisar criar uma pasta properties no seu projeto, e dentro dela colocar um arquivo com o nome db.properties
e o arquivo db.properties
//use a url dessa forma String url = "jdbc:mysql://localhost:3306/testejava?useSSL=false"; // altere essa linha para ficar assim conexao = DriverManager.getConnection(url,user,password);
outra coisa, troque a versao do seu driver do mysql para a 5.1.42
eu tenho esse modelo de classe
mas para usa-la, voce vai precisar criar uma pasta properties no seu projeto, e dentro dela colocar um arquivo com o nome db.properties
public class Conexao implements Serializable { Properties props = new Properties(); private static final Conexao singleton = new Conexao(); private Conexao() { try { props.load(getClass().getClassLoader().getResourceAsStream("/properties/db.properties")); if (props.getProperty("tipodb").equals("mysql")) { Class.forName("com.mysql.jdbc.Driver"); } if (props.getProperty("tipodb").equals("sqlserver")) { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); System.out.println("Carregando driver sql server"); } } catch (IOException ioex) { System.out.println("Arquivo nao encontrado.\\\\\\\\n" + ioex.getLocalizedMessage()); } catch (ClassNotFoundException cnfex) { System.out.println("Driver do banco de dados não encontrado. \\\\\\\\n" + cnfex.getLocalizedMessage()); } } public static Conexao getInstance() { return singleton; } public Connection getConnection() { String url = ""; if (props.getProperty("tipodb").equals("mysql")) { url = "jdbc:" + props.getProperty("tipodb") + "://" + props.getProperty("hostName") + ":" + props.getProperty("port") + "/" + props.getProperty("dbName"); } if (props.getProperty("tipodb").equals("sqlserver")) { url = "jdbc:" + props.getProperty("tipodb") + "://" + props.getProperty("hostName") + ":" + props.getProperty("port") + ";databaseName=" + props.getProperty("dbName"); } try { Connection conn = DriverManager.getConnection(url, props.getProperty("jdbc.user"), props.getProperty("password")); return conn; } catch (SQLException ex) { System.out.println("erro ao conectar com o banco. \\\\\\\\n" + ex.getLocalizedMessage()); } return null; } }
e o arquivo db.properties
port=3306 tipodb=mysql password=SUA_SENHA dbName=SEU_BANCO jdbc.user=root hostName=localhost
GOSTEI 0