Saber se banco de dados Mysql existe

4 respostas
R

Gostava de saber se ha alguma maneira de saber em Java se determinado banco de dados existe ou não, tentei pelo DriveManager mas o DriveManager me lança somente uma Excepção de SQL e ela não é suficiente para saber se um Banco de dados Existe ou não.

Eu quero poder ver se o Banco existe e caso não exista criar o Banco e as suas tabelas, etc

4 Respostas

A

Apenas uma pergunta: Digamos q o bd não exista, como vc iria fazer?

R

Criar uma outra....

Ja encontrei uma solução

public boolean verificaSeBDexiste(String nomeBD) throws ClassNotFoundException, SQLException {

        List<String> list = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        System.out.println("Enter Database name:");
        String database = "fjestrela";
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "");
        Statement st = con.createStatement();
        DatabaseMetaData meta = con.getMetaData();
        ResultSet rs = meta.getCatalogs();
        while (rs.next()) {
            String listofDatabases = rs.getString("TABLE_CAT");
            list.add(listofDatabases);
        }
        if (list.contains(database)) {
            return true;
        } else {
            return false;
        }

    }
G

utilizando hibernate, eu faço da seguinte maneira:

<property name="connection.url">jdbc:mysql://localhost/teste?createDatabaseIfNotExist=true</property>
R

Eu queria somente que pode-se validar isso para que ao se inicializar e antes de ser efectuada qualquer consulta saber-se se o banco de dados existe la e não esperar pela Excepção

Criado 6 de janeiro de 2013
Ultima resposta 7 de jan. de 2013
Respostas 4
Participantes 3