Olá pessoal, peace?
Preciso de um script ou método em java para criação de um banco de dados para a minha aplicação no computador de um cliente! Ao instalar minha aplicação, ele já tem a opção de instalar a JRE e também o mysql. Após o processo de instalação da aplicação e dos programas necessários para rodar o software, eu preciso que ele também execute um .exe para a criação das tabelas no mysql. Se vocês puderem me fornecer o script, eu posso incluir na inicialização da aplicação mas se alguém tiver um método java, eu posso criar um .exe e colocar como um dos programas após o JRE e MySQL.
Se alguém tiver um outro meio para fazer essa operação, ficarei grato!
Att,
Freitax
Você instala o MySQL e o deixa rodando?
Se sim, você pode abrir uma conexão com ele e rodar o comando de criação de base dados.
Se forem muitos comandos (criar varias tabelas, constraints e etc), você pode externalizar isso num arquivo dentro do seu projeto e chamar esse arquivo quando estiver com a conexão aberta.
“Você instala o MySQL e o deixa rodando?” R: O MySQL é apenas para que eu possa criar o banco de dados na máquina do meu cliente.
Então, o banco é relativamente pequeno. Contém apenas 5 tabelas, porém possuí vários campos. Foreign keys, constraints e etc.
Eu gostaria de criar um arquivo dentro ou fora do projeto apenas para criar as tabelas e os campos no mysql. Eu gostaria de um modelo ou até mesmo uma sugestão mais direta.
Entendi!
Você pode criar um arquivo de propriedades no seu projeto e acessá-lo lá dentro mesmo (dentro do projeto).
Veja se isso ajuda.
Procurei algo que me auxilia-se mas infelizmente não obtive resultados satisfatórios. Preciso realmente de um método mais concreto. Estou buscando em outros fóruns também. Estou pensando em criar um executável .jar com “String sql = “CREATE DATABASE BANCO;”” após testar a conexão com o banco.
Consegui criar o banco de dados pelo JAVA!
Criei um programa para criar o banco, agora preciso apenas criar as tabelas dentro do banco. Meu código ficou assim:
public class ConexaoFinal {
public void conectar() {
}
public static void main(String arg[]) throws Exception {
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/?verifyServerCertificate=false&useSSL=false", "root", "metallica");
JOptionPane.showMessageDialog(null, "Instalação finalizada com sucesso!", "VALIDAÇÃO DO BANCO", 2);
System.out.println("CONEXÃO OK!");
try {
Statement ps = con.createStatement();
System.out.println("STATEMENT OK!");
try {
ps.executeUpdate("CREATE DATABASE teste;");
System.out.println("CRIAÇÃO OK!");
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
System.out.println("PREPARED ERROR!");
e.printStackTrace();
}
} catch (Exception e) {
System.out.println("ERROR CONEXÃO!");
e.printStackTrace();
}
}
}
Tipo isso? hahaha
Hahaha! Obrigado, mas não tinha interpretado muito bem suas palavras.
Mas agora vi que você me guiou pelo caminho certo!
Hehe legal!
Se achar justo/correto, poderia marcar minha resposta como solução, por favor?
Valeu!
Só complementando a resposta DO @Freitax , o MySQL permite que você apenas crie a database ou as tabelas caso ainda não existam, bastando acrescentar um IF NOT EXISTS, como no exemplo:
ps.executeUpdate("CREATE DATABASE IF NOT EXISTS teste;");
Isso mesmo Eldius, mas como esse banco sera criado pela aplicação, se caso tentar criar de novo e ele já estiver criado, nada acontece.