Acesso a Dados - JDBC - Parte II
Para entender esse tutorial é necessária a leitura da primeira parte encontrada nesse mesmo fórum.
Precisamos criar um database chamado db_meusClientes. Para isso abra o MS Sql Server Management Studio, conecte em seu servidor, click com o botão direito em Databases, escolha new Database...
Preencha o campo Database name com: db_meusClientes e click no botão ok.
Com o Database criado precisamos criar uma tabela chamada tb_cliente como os seguintes campos:
id_cliente -> bigint
nome -> varchar(255)
endereco -> varchar(255)
telefone -> varchar(50)
Criei o script para quem quiser executar mais rapidamente:
USE [db_meusClientes]
GO
/**** Object: Table [dbo].[tb_cliente] Script Date: 08/02/2009 12:42:19 ****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_cliente](
[id_cliente] [bigint] IDENTITY(1,1) NOT NULL,
[nome] [varchar](255) NOT NULL,
[endereco] [varchar](255) NOT NULL,
[telefone] [varchar](50) NOT NULL,
CONSTRAINT [PK_tb_cliente] PRIMARY KEY CLUSTERED
(
[id_cliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Agora vamos inserir um cliente em nosso banco.
Segue o código abaixo:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
*
* @author kandrade
*/
public class InsereCliente {
public static void main(String[] args){
try {
// recebe uma conexao da nossa fabrica
Connection c = ConnectionFactory.getConnection();
// monta a sql
String query = "INSERT INTO tb_cliente (nome,endereco,telefone) VALUES(?,?,?)";
PreparedStatement pstmt = c.prepareStatement(query);
// um cliente
pstmt.setString(1, "Joao da Silva");
pstmt.setString(2, "Rua Paraguai N. 1093");
pstmt.setString(3, "(11)333-3333");
pstmt.execute();
pstmt.close();
System.out.println("Cliente gravado com sucesso!");
c.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
Para listar todos os clientes:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* @author kandrade
*/
public class ListaClientes {
public static void main(String[] args){
try {
//
Connection c = ConnectionFactory.getConnection();
//
String query = "SELECT *FROM tb_cliente";
PreparedStatement pstmt = c.prepareStatement(query);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
System.out.println("Cliente: " + rs.getString("nome"));
System.out.println("Endereco: " + rs.getString("endereco"));
System.out.println("Telefone: " + rs.getString("telefone"));
System.out.println();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
Vamos agora criar um JavaBean para essa tabela. Esse Bean será muito útil para a classe que criaremos a seguir.
JavaBeans são classes que possui apenas o construtor padrão e os métodos set e get para seus respectivos atributos.
Uma definição mais precisa pode ser encontrada aqui:
http://en.wikipedia.org/wiki/JavaBeans
A classe JavaBean ficará assim:
/**
*
* @author kandrade
*/
public class Cliente {
private Long id;
private String nome;
private String endereco;
private String telefone;
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the nome
*/
public String getNome() {
return nome;
}
/**
* @param nome the nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* @return the endereco
*/
public String getEndereco() {
return endereco;
}
/**
* @param endereco the endereco to set
*/
public void setEndereco(String endereco) {
this.endereco = endereco;
}
/**
* @return the telefone
*/
public String getTelefone() {
return telefone;
}
/**
* @param telefone the telefone to set
*/
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
No próximo tutorial irei explicar alguns métodos utilizados acima e faremos uma classe que intermediará o acesso ao banco de dados. Essa classe vai fazer um bom uso do Bean aqui criado.
Vamos aguardar!
Discussão (5)
Carregando comentários...