Bom galera, meu programa é o seguinte. Tenho um programa que faz um controle de funcionários. Ele cadastra, edita o cadastro.
A principio o problema está ai, depois eu vou adicionar umas novas funções no programa.
Bom, o que eu gostaria de fazer, era criar uma tabela e toda vez que eu cadastrar um funcionário, ele jogar os valores dos atributos dele dentro da tabela.
A mesa coisa quando eu for editar o cadastro de um funcionario.
Essa é a minha classe Funcionário, aqui que eu gostaria de utilizar o banco de dados, dentro dos metodos cadastro() e alterarCadastro()
import java.sql.SQLException;
import java.util.Scanner;
public class Funcionario extends Pessoa {
private String funcao;
private double diaria,salarioFixo,valorHoraExtra,faltas,sabados,salarioFinal,vale;
private int contaFuncionario;
////////////METODO CADASTRAR/////////////
public void cadastro(){
//criarObjeto();
Scanner dado=new Scanner(System.in);
System.out.println("Digite a função ");
this.funcao=dado.next().toUpperCase();
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(dado.nextLine());
}
////////////////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!");
int opcao;
opcao=dado.nextInt();
if(opcao==9){
break;
}else{
switch(opcao){
case'1':
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");
}
}
}
}
Eu fiz tambem um método p/ criar uma conexão com o mysql p/ facilitar um pouco a vida.
public class Conexao {
private Connection conexao;
public Connection getConexao() {return conexao;}
public boolean criaConexao() {
System.out.println("Estabelecendo a conexão com o database");
try {
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "root";
String url= "jdbc:mysql://localhost:3306/mysql";
Class.forName(driver);
conexao = DriverManager.getConnection(url,user,pass);
System.out.println("Conexão estabelecida com sucesso");
return true;
}
catch (ClassNotFoundException e){
System.out.println("ERRO: " + e);
}
catch (SQLException e) {
System.out.println("ERRO: " + e);
}
System.out.println("Não foi possivel conectar ao database");
return false;
}
public void desconectar() {
try {
if( conexao != null && !conexao.isClosed())
conexao.close();
System.out.println("A conexão com o database foi encerrada pelo usuário");
} catch (SQLException ex) {
System.out.println( "ERRO: " + ex);
}
}
}
Se alguem ai souber de um livro/apostila de mysql ou jdbc eu agradeceria se pudessem me passar!
Valeu a ajuda galera!