Bom pelas imagens acima vcs podem ver que eu fiz a parte de cadastro de clientes e ja fiz com que fosse persistido no banco. Até ai tudo bem, o que eu quero fazer agora é Listar esses clientes:
/**
* Metodo com a caracteristica de retornar uma lista de Dados
*
* @return List<LocalTransfer>
* @throws java.sql.SQLException
*/
public List<LocalTransfer> listarTodosLocal() throws SQLException {
List<LocalTransfer> localTransfers = new ArrayList<LocalTransfer>();
try {
strBuffer = new StringBuffer().append("SELECT *"
+ " FROM projetosga.local"
+ " ORDER BY nomelocal");
pstm = abrirconexao.getConexao().prepareStatement(strBuffer.toString());
rs = pstm.executeQuery();
while (rs.next()) {
LocalTransfer localTransfer = new LocalTransfer();
localTransfer.setId(rs.getShort("idlocal"));
localTransfer.setNomelocal(rs.getString("nomelocal"));
localTransfers.add(localTransfer);
}
} catch (SQLException ex) {
logPrincipal(LocalDAO.class).error(">>>>ERROR AO LISTAR LOCAL(listarTodosLocal)", ex);
} finally {
rs.close();
abrirconexao.fecharConexao();
}
return localTransfers;
}
Coloca para depurar o seu codigo na linha correspondente ao metodo. Verifique que o ID relacionado ao seu é do tipo Long, e o meu está como o tipo Short. Dependedo, você tem que alterar conforme a sua necessidade.
Primeiro verifique se cada “set” corresponde a cada variável da sua classe Cleinte, certo ?
Eu percebi que o select seu esta com o seguinte schema: ``` fjsistemas
Então, altere o select de: ```
"SELECT * FROM cliente"
realmente um set estava com short, alterei para long, e tbm alterei o select…mas o comportamento do sistema continua o mesmo, quando selecio a opção 2, que é referente a lista, ele simplesmente ignora a ação e volta para o menu
Tente deixar o mais limpo o possível o seu método para imprimir.
Primeiro coloque para depurar o código em si. E veja onde ela retorna os valores, ok?!
Tente deixar a sua classe mais limpa.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.unit.preconceito;
import java.util.ArrayList;
import java.util.Collections;
import static java.util.Collections.list;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
/**
*
* @author Matheus
*/
public class Principal {
/*envia mensagem para tela informando que a opcao e invalida*/
public static void mensagem(int opcao) throws Exception
{
try
{
// if (opcao == null || null == opcao)
// {
// System.out.println("OPCAO INVALIDA. TENTE NOVAMENTE!!!\n\n\n");
// Thread.sleep(2000);
// return;
// }
// int op = Integer.parseInt(opcao);
if (opcao < 0 || opcao > 5)
{
System.err.println("OPCAO INVALIDA. TENTE NOVAMENTE!!!\n\n\n");
Thread.sleep(2000);
}
else
if (opcao == 0)
{
System.out.println("\tBYEE!!!\n\n\n");
System.exit(0);
}
}
catch (Exception ex)
{
System.out.println("O FORMATO DOS CARACTERES NAO EXISTENTE.\n\t TENTE NOVAMENTE\n\n\n"+ex.getMessage());
}
}
/*metodo para fazer devida escolhas de 0 : SAIR e 1: COPIAR ARQUIVOS para a pasta bin do Workbank*/
public static void escolhas()
{
System.out.println("*********************PRECONCEITO*****************");
System.out.println("*\t\t\tUNIT\t\t\t*");
System.out.println("*************************************************");
System.out.println("*\t0: SAIR\t\t\t\t\t*");
System.out.println("*\t1: CADASTRAR\t\t\t\t*");
System.out.println("*\t2: LISTAR OCORRENCIAS \t\t\t*");
System.out.println("*\t3: LISTAR ENVOL. COM SUAS OCORRENCIAS\t*");
System.out.println("*\t4: LISTAR PORCENTAGEM DE OCORRENCIAS\t*");
System.out.println("*\t5: LISTAR LOCALIDADE DE OCORRENCIAS\t*");
System.out.println("*********************PRECONCEITO*****************");
System.out.print("Por Favor selecione uma opção [0-5]:");
}
public static void main(String [] unitargs) throws Exception {
Scanner scan = new Scanner(System.in);
PreconceitoTransfer _preconceitoTransfer = new PreconceitoTransfer();//cria um atribtuo(instancia) da classe que contem getters e setters
List<PreconceitoTransfer> _lista = new ArrayList<PreconceitoTransfer>(); //arraylist para pegar tudo
List<String> nomes = new ArrayList<String>();// atributo de nomes
String ocorrenciapreconceito = null;//atributo para identificar o tipo de preconceito
String localocorrencia = null;//atributo para identificar o local da ocorrencia
String descricao = null;//atributo para identificar a minha ocorrencia
int op = -1;
escolhas();
op=scan.nextInt();
mensagem(op);
PreconceitoTransfer pre = new PreconceitoTransfer(ocorrenciapreconceito,localocorrencia,descricao,nomes);//cria uma outra instancia para nao perder os valores passados que serao depois inseridos e comparados em cada condicao onde tenha map
while(op!=0){
if(op==1){
System.out.println("Informe ocorrencia preconceito:");
ocorrenciapreconceito = scan.next().toUpperCase();
scan.nextLine();
System.out.println("Informe local acontecimento:");
localocorrencia = scan.nextLine().toUpperCase();
System.out.println("Informe descricao preconceito:");
descricao = scan.nextLine().toUpperCase();
System.out.println("Informe nome da pessoa:");
nomes.add(scan.nextLine().toUpperCase());
_preconceitoTransfer.setOcorrenciapreconceito(ocorrenciapreconceito);
_preconceitoTransfer.setLocalocorrencia(localocorrencia);
_preconceitoTransfer.setDescricao(descricao);
_preconceitoTransfer.setNomes(nomes);
pre = new PreconceitoTransfer(_preconceitoTransfer.getOcorrenciapreconceito(),_preconceitoTransfer.getLocalocorrencia(),_preconceitoTransfer.getDescricao(),_preconceitoTransfer.getNomes());
_lista.add(pre);
}
if(op==2){
Map<String, Integer> _contem = new TreeMap<String, Integer>();//criacao de map para identificacao de chave,valor
for (PreconceitoTransfer nome : _lista) {
if (!_contem.containsKey(nome.getOcorrenciapreconceito())){
_contem.put(nome.getOcorrenciapreconceito(), 0);
}
_contem.put(nome.getOcorrenciapreconceito(), _contem.get(nome.getOcorrenciapreconceito()) + 1);
}
for (Map.Entry<String, Integer> entry : _contem.entrySet()) {
if(entry.getValue()>=5){
System.out.println(entry.getKey()+":"+ entry.getValue());
}
}
}
if(op==3){
Map<String, Integer> _contem = new TreeMap<String, Integer>();//criacao de map para identificacao de chave,valor
for (PreconceitoTransfer nome : _lista) {
if (!_contem.containsKey(nome.getOcorrenciapreconceito())){
_contem.put(nome.getOcorrenciapreconceito(), 0);
}
_contem.put(nome.getOcorrenciapreconceito(), _contem.get(nome.getOcorrenciapreconceito()) + 1);
}
for (Map.Entry<String, Integer> entry : _contem.entrySet()){
System.out.println("["+entry.getKey()+"]:\n");
}
for (String nome:nomes) {
System.out.println(""+nome);
}
System.out.println("\n");
}
if(op==4){
Map<String, Integer> _contem = new TreeMap<String, Integer>();//criacao de map para identificacao de chave,valor
for (PreconceitoTransfer nome : _lista) {
if (!_contem.containsKey(nome.getOcorrenciapreconceito())){
_contem.put(nome.getOcorrenciapreconceito(), 0);
}
_contem.put(nome.getOcorrenciapreconceito(), _contem.get(nome.getOcorrenciapreconceito()) + 1);
}
int totalporcentagem = 0;
for (Map.Entry<String, Integer> entry : _contem.entrySet()) {
totalporcentagem=(entry.getValue()*100)/_lista.size();
System.out.println("["+entry.getKey()+"]:"+totalporcentagem);
}
}
if(op==5){
Map<String, Integer> _contem = new TreeMap<String, Integer>();//criacao de map para identificacao de chave,valor
for (PreconceitoTransfer nome : _lista) {
if (!_contem.containsKey(nome.getLocalocorrencia())){
_contem.put(nome.getLocalocorrencia(), 0);
}
_contem.put(nome.getLocalocorrencia(), _contem.get(nome.getLocalocorrencia()) + 1);
}
for (Map.Entry<String, Integer> entry : _contem.entrySet()) {
System.out.println(entry.getKey()+":"+ entry.getValue());
}
}
escolhas();
op=scan.nextInt();
mensagem(op);
}
}
}