Propaganda

Java fornece JDBC (conectividade Java DataBase) como parte do Java SDK (Software Development Kit). Usando isto API, é muito fácil conectar-se a um banco de dados relacional Então, o que é um banco de dados, afinal? [MakeUseOf explica]Para um programador ou um entusiasta da tecnologia, o conceito de banco de dados é algo que realmente pode ser tomado como garantido. No entanto, para muitas pessoas, o conceito de banco de dados em si é um pouco estranho ... consulte Mais informação e executar operações comuns, como consultar, inserir, atualizar e excluir registros.

Enquanto a API JDBC principal está incluída no java, a conexão com um banco de dados específico, como MySQL ou SQL Server, requer um componente adicional conhecido como driver do banco de dados. Esse driver de banco de dados é um componente de software que converte as chamadas JDBC principais em um formato entendido por esse banco de dados.

Neste artigo, vejamos os detalhes de conexão com um banco de dados MySQL e como executar algumas consultas com ele.

O driver do banco de dados MySQL

Como explicado acima, para poder se conectar a um banco de dados MySQL, você precisa do driver JDBC para MySQL. Isso é chamado de driver Connector / J e pode ser baixado em o site MySQL aqui.

Depois de baixar o arquivo ZIP (ou TAR.GZ), extraia o archive e copie o arquivo JAR mysql-connector-java – bin.jar para um local adequado. Este arquivo é necessário para executar qualquer código que utilize o driver JDBC do MySQL.

Criando um banco de dados de exemplo

Supondo que você baixou o banco de dados MySQL e configure-o corretamente Como instalar um banco de dados MySQL no WindowsSe você costuma escrever aplicativos que se conectam a servidores de banco de dados, é bom saber como instalar um banco de dados MySQL na sua máquina Windows para fins de teste. consulte Mais informação onde você tem acesso, vamos criar um banco de dados de exemplo para que possamos usá-lo para conectar e executar consultas.

Conecte-se ao banco de dados usando um cliente de sua escolha e execute as seguintes instruções para criar um banco de dados de amostra.

criar amostra de banco de dados; 

Também precisamos de um nome de usuário e senha para poder se conectar ao banco de dados (a menos que você queira se conectar como administrador, o que geralmente é uma má ideia).

A seguir, cria um usuário chamado testuser quem se conectará ao banco de dados MySQL da mesma máquina em que está executando (indicado por localhost), usando a senha securepwd.

criar usuário 'testuser' @ 'localhost' identificado por 'securepwd'; 

Se você estiver se conectando a um banco de dados em execução em outra máquina (denominada remotemc), você precisa usar o seguinte (remotemc pode ser um nome de host ou um endereço IP):

criar usuário 'testuser' @ 'remotemc' identificado por 'securepwd'; 

Agora que o nome de usuário e a senha foram criados, precisamos conceder acesso ao banco de dados de amostra criado anteriormente.

conceda tudo na amostra. * para 'testuser' @ 'localhost'; 

Ou, se o banco de dados for remoto:

conceda tudo na amostra. * para 'testuser' @ 'remotemc'; 

Agora você deve verificar se pode conectar ao banco de dados Como instalar um banco de dados MySQL no WindowsSe você costuma escrever aplicativos que se conectam a servidores de banco de dados, é bom saber como instalar um banco de dados MySQL na sua máquina Windows para fins de teste. consulte Mais informação como o usuário que você acabou de criar com a mesma senha. Você também pode executar os seguintes comandos após a conexão, para garantir que todas as permissões estejam corretas.

criar tabela joe (id int chave primária incremento automático, nome varchar (25)); drop table joe; 

Configurar caminho da classe Java

Vamos agora entrar nos detalhes de como se conectar ao MySQL a partir de Java 10 conceitos básicos de Java que você deve aprender ao iniciarEsteja você escrevendo uma GUI, desenvolvendo um software do servidor ou um aplicativo móvel usando o Android, aprender Java será útil para você. Aqui estão alguns conceitos principais do Java para ajudar você a começar. consulte Mais informação . O primeiro passo é carregar o driver do banco de dados. Isso é feito invocando o seguinte em um local adequado.

Class.forName ("com.mysql.jdbc. Motorista"); 

O código pode gerar uma exceção, para que você possa capturá-lo se pretender lidar com ele (como formatar a mensagem de erro para uma GUI).

tente {Class.forName ("com.mysql.jdbc. Motorista"); } catch (ClassNotFoundException ex) {// use a exceção aqui. }

É muito comum invocar esse código em um bloco estático na classe, para que o programa falhe imediatamente se o driver não puder ser carregado.

classe pública Sample. {static {try {Class.forName ("com.mysql.jdbc. Motorista"); } catch (ClassNotFoundException ex) {System.err.println ("Não foi possível carregar o driver MySQL"); } } }

Obviamente, para encontrar o driver, o programa deve ser chamado com o JAR do driver (baixado e extraído acima) incluído no caminho da classe da seguinte maneira.

java -cp mysql-connector-java--bin.jar:... 

Conectando ao MySQL a partir de Java

Agora que reunimos os detalhes do carregamento do driver MySQL do java, vamos nos conectar ao banco de dados. Uma maneira de criar uma conexão com o banco de dados é usar o DriverManager.

String jdbcUrl =...; Conexão con = DriverManager.getConnection (jdbcUrl); 

E qual é o jdbcUrl? Indica os detalhes da conexão, incluindo o servidor em que o banco de dados está localizado, o nome de usuário e assim por diante. Aqui está um exemplo de URL para o nosso exemplo.

String jdbcUrl = "jdbc: mysql: // localhost / sample? usuário = testuser & senha = secrepwd "; 

Observe que incluímos todos os parâmetros necessários para a conexão, incluindo o nome do host (localhost), usuário e senha. (Incluir uma senha como essa NÃO é uma boa prática, veja abaixo alternativas).

Usando isto jdbcUrl, aqui está um programa completo para verificar a conectividade.

classe pública Sample. {static {try {Class.forName ("com.mysql.jdbc. Motorista"); } catch (ClassNotFoundException ex) {System.err.println ("Não foi possível carregar o driver MySQL"); }} static public void main (String [] args) lança a exceção {String jdbcUrl = "jdbc: mysql: // localhost / sample? usuário = testuser & senha = securepwd "; Conexão con = DriverManager.getConnection (jdbcUrl); System.out.println ("Conectado!"); con.close (); } }

Observe que uma conexão com o banco de dados é um recurso precioso em um programa e deve ser fechado corretamente como acima. O código acima, no entanto, não fecha a conexão em caso de exceção. Para fechar a conexão em uma saída normal ou anormal, use o seguinte padrão:

try (Conexão con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Conectado!"); }

Como observado acima, é uma má idéia incorporar a senha na URL JDBC. Para especificar o nome de usuário e a senha diretamente, você pode usar a seguinte opção de conexão.

String jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Conexão con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }

Consultando o banco de dados a partir de Java

Agora que a conexão com o banco de dados está estabelecida, vamos ver como executar uma consulta, como consultar a versão do banco de dados:

selecione a versão (); 

Uma consulta é executada em java da seguinte maneira. UMA Declaração objeto é criado e uma consulta é executada usando o executeQuery () método que retorna um ResultSet.

String queryString = "select version ()"; Instrução stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Imprima a versão a partir do ResultSet do seguinte modo. 1 refere-se ao índice da coluna nos resultados, começando em 1.

while (rset.next ()) {System.out.println ("Versão:" + rset.getString (1)); }

Após o processamento dos resultados, os objetos precisam ser fechados.

rset.close (); stmt.close (); 

E isso cobre tudo o que há para se conectar ao MySQL a partir de java e executar uma consulta simples.

Você já usou o JDBC com MySQL em seus projetos? Quais problemas, se houver, você teve com bancos de dados e java? Por favor, deixe-nos saber nos comentários abaixo.