Trabalho com bancos de dados em Java

Índice
Java Por ser uma linguagem polivalente, para além das diferentes funcionalidades que podemos alcançar, permite-nos também trabalhar com a persistência de dados, para isso podemos fazer a ligação com os diferentes motores de Bases de dados que existem no mercado.
UMA Base de dados Pode ser algo tão simples como um sistema de valores-chave em um arquivo de texto simples, bem como soluções mais complexas e modernas, como as não relacionais, o que torna a capacidade de desenvolver diferentes esquemas de conexão uma característica obrigatória.
JDBC são um conjunto de classes que permitem Java estabelecer conexões com motores de banco de dados, o que nos permite obter os resultados das consultas em um objeto chamado ResultSet.
Uma vez que cada motor é diferente, é provável que o ResultSet que recebemos é particular a ele, por isso não é conveniente para nós estruturarmos nossa aplicação em torno desse objeto.
Para resolver este problema, podemos usar o que é chamado de objeto de acesso, com o qual podemos gerenciar as diferentes formas de nosso ResultSet tornando seu aplicativo dentro de nosso programa mais fácil de implementar e, assim, o desenvolvedor terá menos problemas.
O padrão de design DAOO Objeto de acesso a dados ou DAO É um padrão de design que coleta o que havíamos explicado no ponto anterior, isso nos obriga a criar uma classe de acesso às propriedades de nosso Base de dados. Para fazer este trabalho, devemos fazer todo o trabalho JDBC e o controlador que nos permite conectar com o mecanismo específico que desejamos, além disso, devemos realizar a implementação lógica que explicamos para evitar a dependência de componentes específicos que apenas dificultariam a migração para um mecanismo de banco de dados diferente.
A primeira coisa que precisamos fazer para construir uma conexão JDBC é identificar qual é o motor ao qual queremos fazer a conexão e depois obter as classes necessárias para essa conexão, neste caso vamos fazer uma conexão MySQL, este motor é leve, gratuito e multiplataforma, por isso podemos instalá-lo tanto em Windows, Linux ou Mac.
Conector / J é o conjunto de aulas oferecidas pela equipe de desenvolvimento da MySQL, com eles podemos fazer JDBC trabalhar junto com isso Bases de dados relacional, para incorporá-lo ao nosso projeto devemos seguir os seguintes passos.
1- Devemos baixar o arquivo correspondente à nossa plataforma, também janelas ou para outros do site oficial da MySQL No link a seguir.

PROLONGAR

2- Neste tutorial trabalharemos em Windows então para sua implementação em nossos exemplos faremos em tempo de execução para maior facilidade, porém ao baixar o pacote o instalamos para tê-lo disponível em nosso computador.
3- Agora passaremos a testar se tudo funciona bem em nosso computador, para isso faremos um pequeno código onde veremos se conector / J foi carregado com sucesso em nosso sistema, para isso usaremos o seguinte código:
 public class ConnectionTest {public static void main (String [] args) {try {Class c = Class.forName ("com.mysql.jdbc.Driver"); System.out.println ("Classe carregada:" + c.getName ()); } catch (ClassNotFoundException ex) {System.err.println (ex); }}} 

4- Para executar este exemplo, precisamos incluir a dependência, é recomendado que tenhamos o .jar no mesmo caminho do nosso arquivo TestConexion.java. Com isso coberto, iremos compilar nosso arquivo, abrimos um console e com a instrução Javac e adicionando o .jar ao caminho de classe em tempo de execução com o comando -cp Podemos fazer isso, vamos ver a linha de comando:
 javac -cp mysql-connector-java-5.1.34-bin.jar ConnectionTest.java 

5- Finalmente, para executar nosso arquivo, precisamos apenas executar a seguinte instrução:
java -cp mysql-connector-java-5.1.34-bin.jar TestConnection

Se tivermos um resultado como o seguinte em nosso console, podemos começar a trabalhar com operações para Bases de dados:

PROLONGAR

O próximo passo que precisamos dar é estabelecer uma conexão eficaz com o nosso Base de dados, para isso devemos criar um com pelo menos uma tabela em nosso servidor local, desta forma podemos realizar alguns testes, para facilitar criamos um Banco de Dados chamado teste e usamos o seguinte script para criar a tabela e inserir alguns registros de teste, isso para agilizar o desenvolvimento do tutorial:

CRIAR TABELA SE NÃO EXISTIR `usuários` (
`id` bigint (20) NOT NULL AUTO_INCREMENT,
`nome` varchar (255) NÃO NULO,
data `date` NOT NULL,
`state` int (11) NOT NULL,
CHAVE PRIMÁRIA (`id`)
) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 3;
INSERT INTO `usuários` (` id`, `nome`,` data`, `status`) VALORES
(1, 'Usuário 1', '01/01/2015', 1),
(2, 'Usuário 2', '01/01/2015', 1);

Agora no seguinte código de Java vamos nos concentrar em estabelecer a conexão com o Base de dados, para isso com um tente pegar o bloco Vamos validar se está eficaz e sem erros, então se a conexão foi estabelecida vamos imprimir uma mensagem de sucesso, vejamos:
 import java.sql.Connection; import java.sql.DriverManager; public class ConnectionTest {private static final String path = "jdbc: mysql: // localhost"; private static final String user = "nosso usuário"; private static final String password = "nossa senha"; public static void main (String [] args) {tente {Connection con = DriverManager.getConnection (caminho, usuário, senha); System.out.println ("Conexão bem-sucedida"); } catch (Exception e) {e.printStackTrace (); }}} 

A partir deste código, podemos ver que devemos importar duas bibliotecas do pacote java.sql, um é Conexão que se encarrega de gerir todas as atividades para poder comunicar com a Base de Dados e a outra é Gerenciador de Dispositivos que é responsável por fornecer a maneira como nos comunicaremos com ele. Se tivermos seguido as etapas corretamente, devemos ver a seguinte mensagem ao executar nosso exemplo no console:

PROLONGAR

Temos tudo pronto para começar a testar nossas consultas, para isso precisaremos de várias coisas, a primeira que já temos é o objeto que faz a conexão com o Base de dados, então precisaremos importar os pacotes Demonstração Y ResultSet com o qual podemos primeiro enviar consultas e, em seguida, obter a resposta das mesmas, finalmente passamos pelo objeto ResultSet onde mostraremos os dados inseridos na tabela e antes de fechar o programa temos que fechar cada um dos objetos que criamos, desta forma garantiremos a integridade de nossos dados. Vamos ver o código que mostra o que é explicado:
 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class ConnectionTest {private static final String path = "jdbc: mysql: // localhost / test"; private static final String user = "nosso usuário"; private static final String password = "nossa senha"; public static void main (String [] args) {tente {Connection con = DriverManager.getConnection (caminho, usuário, senha); Consulta de declaração = con.createStatement (); System.out.println ("Conexão bem-sucedida"); ResultSet result = query.executeQuery ("SELECT * FROM users"); while (result.next ()) {String name = result.getString ("name"); String data = result.getString ("data"); System.out.println ("Nome:" + nome + "Data de registro:" + data); } result.close (); query.close (); con.close (); } catch (Exception e) {e.printStackTrace (); }}} 

É importante mencionar que em nosso atributo rota Nós o modificamos e o nome do Base de dados ligar teste onde devemos ter nossa tabela de usuários criada, compilar nosso arquivo e executar, o resultado por console seria como pode ser visto na imagem a seguir:

PROLONGAR

Tendo observado o exemplo da conexão e das consultas ao Banco de Dados, podemos ver que devemos utilizar uma figura chamada Preparar declaração que torna nosso trabalho mais fácil, deixando as consultas preparadas para que possamos executá-las várias vezes sem ter que construí-las repetidamente, para alcançar essa dinâmica substituímos os valores que precisamos alterar por variáveis ​​e então quando executamos o consulta, passamos os valores reais para ela.
VantagemIsso tem várias vantagens, já dissemos que a primeira é poder usar algo sem repeti-lo, mas também é por segurança, pois nos permite tratar os valores que possivelmente venham da entrada do usuário para evitar um ataque ao nosso Banco de dados, além de também podermos facilitar a legibilidade do nosso programa.
No exemplo a seguir, vamos criar uma consulta com Declaração preparada, para que possa ser usado várias vezes durante o nosso programa. Vamos ver o código resultante:
 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.PreparedStatement; public class PreparedStatementTest {private static final String path = "jdbc: mysql: // localhost / test"; private static final String user = "nosso usuário"; private static final String password = "nossa senha"; public static void main (String [] args) {tente {Connection con = DriverManager.getConnection (caminho, usuário, senha); Consulta PreparedStatement = con.prepareStatement ("SELECT * FROM usuários Onde id = ?;"); System.out.println ("Conexão bem-sucedida"); query.setInt (1, 1); ResultSet result = query.executeQuery (); while (result.next ()) {String name = result.getString ("name"); String data = result.getString ("data"); System.out.println ("Nome:" + nome + "Data de registro:" + data); } result.close (); query.close (); con.close (); } catch (Exception e) {e.printStackTrace (); }}} 

Notamos que usando o método setInt Com o objeto de consulta, podemos passar o parâmetro necessário para a consulta, com isso podemos desvinculá-lo da execução da consulta, ganhando assim portabilidade e facilidade de leitura. Para terminar, compilamos e executamos nosso programa:

PROLONGAR

Com isso terminamos este tutorial, pois vemos as opções para trabalhar com Bases de dados em Java São muito interessantes porque nos permitem incorporar flexibilidade e versatilidade nas nossas aplicações, o mais importante é que se tivermos experiência com outras linguagens, com certeza será utilizada aqui.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave