Boa tarde estou no 2 periodo de BSI e estou meio que totalemnte perdido estou com uma atividade que e pra desenvolver um sistema de bliblioteca so q eu nao vi nada de banco de dados meu professor deixou a orientacao de usar
- DAO (Data Access Object) que eu nao sei o q e…
vou copiar e colar meu codigo aki q ate entao eu consegui fazer minha outra duvida como e q eu faco pra relacionanr mais de um objeto em uma linha so tipo: cadastrei uma pessoa(obj ela possui nome,cpf,fone) emprestimo(data_entrada data_saida) tudo isso tem q ter esse negoco de DAO…
criei 2 pacotes um dominio e um main
primeiro vai o Dominio
Pessoas
[code]package br.unirn.dominio;
public class Pessoas {
private String nome;
private Long cpf;
private String fone;
public String getFone() {
return fone;
}
public void setFone(String fone) {
this.fone = fone;
}
private Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Long getCpf() {
return cpf;
}
public void setCpf(Long cpf) {
this.cpf = cpf;
}
public Pessoas(){
}
public Pessoas(String nome, Long cpf,Long id, String fone){
this.nome = nome;
this.cpf = cpf;
this.id = id;
this.fone = fone;
}
@Override
public boolean equals(Object p) {
return cpf == ((Pessoas) p).getCpf();
}
}
Agora o Main onde eu parei cheio de duvidas
package br.unirn.main;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import br.unirn.dominio.Emprestimo;
import br.unirn.dominio.Pessoas;
public class SistemaBiblioteca {
/**
* @Author: Thiago Alves Couto da Silva
*/
public static void main(String[] args) {
//ArrayList
ArrayList<Emprestimo> Emprestimo = new ArrayList<Emprestimo>();
ArrayList<Pessoas> Pessoa = new ArrayList<Pessoas>();
do{
int menu=0;
String texto = "Escolha A opcao Desejada: " + "\n" + "1-Listar Emprestimos" + "\n" + "2-Listar Devolucoes" + "\n" + "3- Realizar Emprestimos" + "\n" +
"4- Registrar Devolucoes" + "\n" + "5- Cancelar Emprestimos" + "\n" + "6-Sair" + "\n";
menu = Integer.parseInt(JOptionPane.showInputDialog(texto));
if(menu == 1){
Pessoas p = criarPessoas();
Pessoas.add(p);
}
//Adicionando na Lista
ListagemPessoas(Pessoa);
}while(menu!=6);
}
//Metodo Automatico Para Criacao de Cadastro de Pessoas
public static Pessoas criarPessoas(){
String nome = JOptionPane.showInputDialog("Digite nome para o Cadastro?");
long cpf = Long.parseLong(JOptionPane.showInputDialog("Informe seu CPF: "));
long id = Long.parseLong(JOptionPane.showInputDialog("Informe seu ID: "));
String fone = JOptionPane.showInputDialog("Informe seu Telefone: ");
return new Pessoas (nome,cpf,id,fone);
}
public static Emprestimo criarEmprestimo(){
long id = Long.parseLong(JOptionPane.showInputDialog("Informe o ID do Emprestimo: "));
String dataEmp = JOptionPane.showInputDialog("Defina a data de Emprestimo: ");
String dataDev = JOptionPane.showInputDialog("Defina a Data de Devolucao: ");
return new Emprestimo (id,dataEmp,dataDev);
}
//Metodo pra Mostra as Pessoas Cadastradas Na Lista
public static void ListagemPessoas(ArrayList lista){
if(!lista.isEmpty()){
String mensagem = "";
for (Pessoas p : lista) {
mensagem += p.getNome() + "\n" + p.getFone() + "\n" + p.getCpf() + "\n";
}
JOptionPane.showMessageDialog(null, mensagem);
}
}
//Metodo pra Buscar Pessoas cadastradas pelo CPF
public static Pessoas buscarPessoas(Long cpf,
ArrayList lista) {
if (!lista.isEmpty()) {
String mensagem = “”;
for (Pessoas p : lista) {
if (p.getCpf().equals(cpf))
return p;
}
JOptionPane.showMessageDialog(null, mensagem);
}
return null;
}
public static void removerPessoas(Long cpf, ArrayList lista) {
Pessoas p = buscarPessoas(cpf, lista);
if (p != null)
lista.remove§;
}
}[/code]
[/code]
obs: ja implementei alguns metodos como criarPessoas, ListarPesoas ainda vou criar o metodo de add na lista…
Resumao do Problema
Considere o contexto de uma biblioteca simplificada, onde se pode realizar empréstimos de materiais informacionais.
Existem três tipos de materiais informacionais: livros, periódicos e materiais especiais.
-
Cada livro é representado por um número identificador (ISBN), título, ano, edição, volume, editora
e um ou mais autores. -
Um autor é representando por um código (que o identifica na biblioteca), um nome e seu sobrenome.
-
Uma editora tem um nome e a informação se é nacional ou internacional
-
Cada periódico possui apenas um número identificador (ISSN), um título e um volume
-
O material especial possui uma descrição geral e um tipo (DVD, CD, FITA).
-
Cada material informacional possui um código de barras, o número da estante em que fica guardado, o número total de exemplares e o número total de exemplares disponíveis para empréstimo
-
Quando uma pessoa faz um empréstimo, deve-se registrar a pessoa, a data em que o empréstimo foi ralizado, o material informacional emprestado e uma indicação se houve ou não devolução.
-
Deve ser possível:
9.1) Listar todos os empréstimos ativos realizados, onde são exibidos o nome, telefone, cpf de quem efetuou o empréstimo, os dados
do material informacional emprestado e a data do empréstimo
9.2) Listar as devoluções (semelhante ao item 9.1)
9.3) Realizar Empréstimo
9.3.1) Informar CPF da pessoa que deseja fazer o empréstimo
9.3.2) Se a pessoa já existir, usa a referência da pessoa existente
9.3.3) Se a pessoa não existir, cadastra pessoa
9.3.4) Solicitar Tipo de Material informacional
9.3.5) Listar materiais do tipo informado
9.3.6) Informa o cód. de barras do material escolhido para empréstimo
9.3.7) Cria registro do empréstimo, associando a pessoa e o material informacional escolhido
9.3.8) Reduz a quantidade disponível para empréstimo do material informacional
9.4) Registrar Devoluções
9.4.1) Informa CPF da Pessoa e código de barras do material informacional
9.4.2) Marca empréstimo como devolvido
9.4.3) Incrementa quantidade disponível para empréstimo
9.5) Cancelar empréstimo
9.5.1) Informa CPF da Pessoa e código de barras do material informacional
9.5.2) Remove registro de empréstimo
9.5.3) Incrementa quantidade disponível para empréstimo
–> Considere o modelo abaixo do sistema acima usando os conceitos de orientação a objeto: classes (concreta e abstrata) e herança. Implemente-o.
–> Identifique os casos de uso e implemente códigos de testes
–> Os cadastros de pessoas, materiais informacionais e empréstimos devem ser simulados com a base de dados sendo Listas (ArrayList), ou seja, para cada classe existirá uma lista que representará o repositório de dados.