Acesso a Dados - JDBC - Parte I
Introdução
Esse tutorial foi criado devido a grande quantidade de dúvidas que vejo em fóruns, principalmente de pessoas iniciantes na linguagem de como é a relação do Java com o Banco de Dados. Os assuntos tratados nesse tutorial são: JDBC, Factory, Beans e DAO. O banco de dados que irei utilizar é o SQL Server 2008 Express.
O tutorial será dividido em 3 partes. Espero que gostem!
Java Acesso a Dados - JDBC - Parte I
JDBC é uma API escrita em Java que serve como uma ponte entre nossos programas e o banco de dados. Cada banco de dados possui uma implementação JDBC chamada de driver.
No nosso caso o driver JDBC que vamos usar é o jtds que serve para os bancos SQL Server e Sybase.
http://jtds.sourceforge.net/
Vou deixar os links dos JDBDCs dos bancos mais usados:
MySQL -> http://dev.mysql.com/downloads/connector/j/5.1.html
PostgreSQL -> http://jdbc.postgresql.org/
Oracle -> http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
Baixe o mais atual e o adicione nas bibliotecas de seu projeto.
Em breve vou postar como fazer isso nas principais IDEs Netbeans e Eclipse.
Estamos prontos para começar a programar.
Vamos criar a fábrica de conexões que como o próprio nome diz vai gerenciar nossas conexões com o banco.
public class ConnectionFactory {
public static Connection getConnection() throws SQLException{
String url = "jdbc:jtds:sqlserver://localhost:1433/seu_banco;user=seu_usuario;password=sua_senha";
Connection c = null;
try
{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
c = DriverManager.getConnection(url);
}
catch(ClassNotFoundException cnfe)
{
cnfe.printStackTrace();
}
return c;
}
}
O banco de dados está rodando localmente e não esqueça de fazer as devidas substituições em banco, usuário e senha.
Vamos a algumas explicações do código:
Class.forName(DRIVER);
Mas o que acontece realmente aqui? Quando você utiliza o método estático Class.forName(), o Class Loader tenta inicializar esta classe. Esta classe (que é o nosso driver jdbc) possui um bloco inicializador estático (não se preocupe caso você não conheça este recurso), que irá registrar essa classe como um driver JDBC, avisando o java.sql.DriverManager, pelo método registerDriver.
Fonte: http://www.guj.com.br/java.tutorial.artigo.7.1.guj
A classe DriverManager gerencia os Driver JDBC. Quando chamanos o método getConnection, o DriverManager tentará localizar um driver adequado, utilizando o(s) driver(s) carregado pelo Class Loader.
Vamos testar nossa classe de conexão
public class TesteConexao{
public static void main(String[] args){
Connection con = null;
try {
con = ConnectionFactory.getConnection();
} catch (SQLException ex) {
ex.printStackTrace();
}
if(con != null){
System.out.println("Conexao efetuada com sucesso!");
}
else{
System.out.println("Conexao falhou!");
}
}
}
Por enquanto é isso, estou preparando o próximo material.
Aguardem!
Discussão (11)
Carregando comentários...