CRUD com Banco de Dados Relacional  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
cyberstrike
What is classpath?

Membro desde: 07/10/2011 19:45:25
Mensagens: 7
Offline

Boa noite pessoal.
Estou com um tremendo problema, estou tentando criar um CRUD que pega informações de 3 tabelas diferentes

Estou utilizando JSP com servlet no Eclipse. Alguém tem alguma coisa parecida pra me enviar, para que possa fazer o meu pequeno projeto? alguma dica, qualquer coisa.

1 Tabela:
CREATE TABLE tb_cliente
(
cliente_id integer NOT NULL,
cidade_id character(5),
sexo character(1),
senha character(50),
email character(30),
nome character(30),
data_nacimento date,
endereco character(100),
cep character(,
logradouro character(30),
tipo_user character(2),
CONSTRAINT tb_cliente_pkey PRIMARY KEY (cliente_id),
CONSTRAINT tb_cliente_cidade_id_fkey FOREIGN KEY (cidade_id)
REFERENCES tb_cidade (cidade_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

2 Tabela:
CREATE TABLE tb_cidade
(
cidade_id character(5) NOT NULL,
uf_id integer,
nome character(50),
CONSTRAINT tb_cidade_pkey PRIMARY KEY (cidade_id),
CONSTRAINT tb_cidade_uf_id_fkey FOREIGN KEY (uf_id)
REFERENCES tb_uf (uf_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

3 Tabela:

CREATE TABLE tb_telefone
(
telefone_id integer NOT NULL,
cliente_id integer,
tel_comercial character(15),
tel_celular character(15),
tel_fixo character(15),
CONSTRAINT tb_telefone_pkey PRIMARY KEY (telefone_id),
CONSTRAINT tb_telefone_cliente_id_fkey FOREIGN KEY (cliente_id)
REFERENCES tb_cliente (cliente_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

melges
Thread.start()

Membro desde: 01/10/2006 14:06:18
Mensagens: 31
Offline

Vamos lá para o básico:

Qual o problema que voce está tendo? Imprima a mensagem de erro, exceptions etc
Insira o código que está gerando o erro

Se não vai ficar um pouco dificil de ajudar
bobboyms
Debugger
[Avatar]

Membro desde: 15/06/2007 09:44:02
Mensagens: 58
Localização: Mirante da Serra - RO / Recife - PE
Offline

Tente esse componente! para facilitar seu trabalho

http://code.google.com/p/jpa-component/wiki/Doc_PT_Br

Apenas mais um analista do sistema
cyberstrike
What is classpath?

Membro desde: 07/10/2011 19:45:25
Mensagens: 7
Offline

melges wrote:Vamos lá para o básico:

Qual o problema que voce está tendo? Imprima a mensagem de erro, exceptions etc
Insira o código que está gerando o erro

Se não vai ficar um pouco dificil de ajudar




Cara não ta aparecendo erro nenhum ainda. Eu não sei como começar.
Tenho um formulário que usa dados das 3 tabelas, tenho que criar uma DAO para salvar, excluir, listar... nas tres tabelas e não sei como fazer.
melges
Thread.start()

Membro desde: 01/10/2006 14:06:18
Mensagens: 31
Offline

Vc está com dúvida na criação do dao, como fazer a conexão com o banco ou como obter os dados do usuário?

Vc deve crirar um jsp com o formulário onde o cara vai digitar os dados, criar um servlet onde os dados derão recebidos e os daos que farao o trabalho de incluir, editar ou excluir os dados.
A apostila fj 21 da caelum ensina muito bem como fazer isso. Sugiro que dê uma olhada.
Anime
GUJ Master
[Avatar]

Membro desde: 11/11/2009 07:37:26
Mensagens: 1949
Localização: São José do Rio Preto-SP
Offline

Oi,
 Nome do arquivo passo-a-passo-para-criar-uma-tela-de-cadastro-java.pdf [Disk] Download
 Descrição
 Tamanho 303 Kbytes
 Baixado:  269 vez(es)


As Quatro Chaves da Função Gerencial

O sorriso de fraternidade, a ajuda silenciosa, a humildade sem alarde,
a flor da gentilesa e o gesto amigo cabem prodigiosamente, em qualquer parte.
Chico Xavier - Emmanuel
cyberstrike
What is classpath?

Membro desde: 07/10/2011 19:45:25
Mensagens: 7
Offline

Oi galera, o problema que estava tendo ja consegui resolver.
agora estou com outro.
Como faço para pegar o ultimo ID e inserir na FK em outra tabela.

Tenho a tb_cliente com ID autoincrement e outra tb_telefone FK da tb_cliente.

Como faço para pegar esse valor e inserir na outra tabela?
marcobiscaro2112
JWizard

Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline

Use o método getGeneratedKeys() de Statement.

http://www.selikoff.net/2008/09/03/database-key-generation-in-java-applications/ (veja a técnica 2)

Marco Biscaro.

Seja livre!

Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?

Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[Email] [WWW] [MSN]
cyberstrike
What is classpath?

Membro desde: 07/10/2011 19:45:25
Mensagens: 7
Offline

Tudo bem, posso usar a função MAX para pegar o ultimo valor e inserir em outra table.
Mas teria como me passar um exemplo de como fazer isso, em uma servlet

public class ClienteDAO {


public Cliente salvarTB_cliente(Cliente cliente) {
Connection con = FabricaConexao.getConnection();
PreparedStatement ps = null;
@SuppressWarnings("unused")
ResultSet rs = null;
try {
ps = con.prepareStatement("INSERT INTO tb_cliente(nome, email, senha, sexo, cpf_cnpj, ie_rg, endereco, cep, bairro)"
+ " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");

int index = 1;
ps.setString(index++, cliente.getNome());
ps.setString(index++, cliente.getEmail());
ps.setString(index++, cliente.getSenha());
ps.setString(index++, cliente.getSexo());
ps.setString(index++, cliente.getCpf_cnpj());
ps.setString(index++, cliente.getIe_rg());
ps.setString(index++, cliente.getEndereco());
ps.setString(index++, cliente.getCep());
ps.setString(index++, cliente.getBairro());


ps.execute();

ps.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return cliente;

}

Quero inserir o ultimo id da tabela cliente e colocar na tabela telefone:

public Telefone salvarTB_telefone(Telefone telefone) {
Connection con = FabricaConexao.getConnection();
PreparedStatement ps = null;
@SuppressWarnings("unused")
ResultSet rs = null;
try {
ps = con.prepareStatement("INSERT INTO tb_telefone(tel_celular,"
+ " tel_fixo, tel_comercial)VALUES (?, ?, ?);");

int index = 1;
ps.setString(index++, telefone.getTel_celular());
ps.setString(index++, telefone.getTel_residencial());
ps.setString(index++, telefone.getTel_comercial());

ps.execute();
ps = con.prepareStatement("insert into tb_telefone ")
ps.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return telefone;
}
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team