Bom galera, eu queria a ajuda de vocês p/ listar todos os elementos de um banco de dados meu.
O mais proximo que eu consegui chegar foi isso:
////////////////LISTA FUNCIONARIOS//////////////
public void listaFuncionario(){
try {
Statement stmt=conetarBanco().createStatement();
ResultSet rs = stmt.executeQuery("SELECT nome from" +
"funcionario");
while(rs.next()){
System.out.println("nome: "+rs.getString(1));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0;i<array.size();i++){
System.out.println(array.indexOf(i));
}
}
Porém, não funcionou, até porque quando eu insiro os valores no Banco(METODO CADASTR()) eu utilizo o PreparedStatement
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Scanner;
public class Funcionario extends Pessoa {
private String funcao;
private double diaria,salarioFixo,valorHoraExtra,faltas,sabados,salarioFinal,vale;
private int contaFuncionario;
private Connection conn;
private PreparedStatement stm;
private ArrayList<String> array = new ArrayList<String>();
////////////////LISTA FUNCIONARIOS//////////////
public void listaFuncionario(){
try {
Statement stmt=conetarBanco().createStatement();
ResultSet rs = stmt.executeQuery("SELECT nome from" +
"funcionario");
while(rs.next()){
System.out.println("nome: "+rs.getString(1));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0;i<array.size();i++){
System.out.println(array.indexOf(i));
}
}
//METODO PARA CONECTAR AO BANCO DE DADOS//////
public Connection conetarBanco(){
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "root";
String urlPadrao = "jdbc:mysql://localhost:3306/mysql";
try{
Class.forName(driver);
conn = DriverManager.getConnection(urlPadrao,user,pass);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println("Conexão estabelecida com sucesso");
return conn;
}
////////////METODO CADASTRAR/////////////
public void cadastro(){
//criarObjeto();
Scanner dado=new Scanner(System.in);
Scanner dado2=new Scanner(System.in);
System.out.println("Digite a função ");
this.funcao=dado.next().toUpperCase();
array.add(this.funcao);
System.out.println();
System.out.println("Digite o nome: ");
setNome(dado.next());
System.out.println();
System.out.println("Digite o CPF");
setCpf(dado.next());
System.out.println("Digite a idade do funcionario");
setIdade(dado.nextInt());
System.out.println();
System.out.println("Digite o endereço do funcionario");
setEndereco(dado2.nextLine());
Funcionario f = new Funcionario();
f.conetarBanco();
//String query = "INSERT INTO funcionario (Funcao, nome, CPF, Endereco) values (?,?,?,?)";
try {
stm = conetarBanco().prepareStatement("INSERT INTO funcionario (Funcao, nome, CPF, Endereco) values (?,?,?,?)");
stm.setString(1, getNome());
stm.setString(2, getEndereco());
stm.setString(3, funcao);
stm.setString(4, getCpf());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
////////////////METODO ALTERAR CADASTRO///////////////////
public void alterarCadastro(){
Scanner dado=new Scanner(System.in);
while(true){
System.out.println("O QUE DESEJA ALTERAR? ");
System.out.println();
System.out.println("1- Função");
System.out.println("2- Nome");
System.out.println("3- CPF");
System.out.println("4- Endereço");
System.out.println("9- FIM!");
char opcao;
opcao=dado.next().charAt(0);
if(opcao==9){
break;
}else{
switch(opcao){
case'1':
Funcionario f= new Funcionario();
f.conetarBanco();
System.out.println("DIGITE A NOVA FUNÇÃO");
this.funcao=dado.next();
break;
case '2':
System.out.println("Digite o nome");
setNome(dado.next());
break;
case'3':
System.out.println("Digite o CPF");
setCpf(dado.next());
break;
case'4':
System.out.println("Digite o endereço");
setEndereco(dado.next());
default:
System.out.println("Opção inválida, tente novamente");
}
}
}
}
////////////METODO CALCULAR SALARIO///////////////////////////////
public void calculaSalario(){
Scanner dado=new Scanner(System.in);
if(funcao.equalsIgnoreCase("ESTAGIÁRIO")){
this.salarioFixo=600;
this.diaria=this.salarioFixo/30;
System.out.println("Quantos sábados o Funcionario trabalhou?");
this.sabados=dado.nextDouble();
this.salarioFinal=this.salarioFixo-(this.faltas*this.diaria)+(this.sabados*this.valorHoraExtra)-(this.vale);
System.out.println(this.salarioFinal);
}else if (funcao.equalsIgnoreCase("MOTORISTA")) {
this.salarioFixo=1000;
this.diaria=this.salarioFixo/30;
System.out.println("Quantos sábados o Funcionario trabalhou?");
this.sabados=dado.nextDouble();
this.salarioFinal=this.salarioFixo-(this.faltas*this.diaria)+(this.sabados*this.valorHoraExtra)-(this.vale);
System.out.println(this.salarioFinal);
}else if(funcao.equalsIgnoreCase("GERENTE")){
this.salarioFixo=2500;
this.diaria=this.salarioFixo/30;
System.out.println("Quantos sábados o Funcionario trabalhou?");
this.sabados=dado.nextDouble();
this.salarioFinal=this.salarioFixo-(this.faltas*this.diaria)+(this.sabados*this.valorHoraExtra)-(this.vale);
System.out.println(this.salarioFinal);
}
}
///////////////IMPRIME INFORMAÇÕES DO FUNCIONARIO//////////
public void imprimeInformacao(){
System.out.println("Nome: "+getNome());
System.out.println("CPF: "+getCpf());
System.out.println("Endereço: "+getEndereco());
System.out.println("Idade: "+getIdade());
}
public double getFaltas() {
return faltas;
}
public void setFaltas(double faltas) {
this.faltas = faltas;
}
public double getVale() {
return vale;
}
public void setVale(double vale) {
this.vale = vale;
}
public Funcionario(String funcao){
this.funcao=funcao;
}
public Funcionario(){
}
}
Coloquei o código todo pq eu realmente nao faço ideia de como fazer isso.
Valeu a ajuda galera
