Boa noite, gostaria de saber como é possivel na parte de aluguel tem 2 combobox, eu quero pegar a combobox veiculo, ir na tabela veiculo e pegar o atributo modelo para retornar a combobox, tem que pegar a combobox cliente tbm, ir na tabela cliente e pegar o atributo nomecliente e retornar para a combobox cliente e jogar ambas nos seus respectivos statements, estou usando
“stmt.setObject(2, aluguel.getVeiculo());” e stmt.setObject(5, aluguel.getCliente()); porem não está funcionando,estou usando o padrão mvc desde já grato.
ClienteDAO:
package dao;
import model.Cliente;//importação do cliente no pacote entidades
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class ClienteDAO
{
private final Connection conexao;
//metodo construtor de conexao
public ClienteDAO(Connection conexao)
{
this.conexao = conexao;
}
//função inserir
public void inserir(Cliente cliente) throws SQLException//passar para a função um cliente do tipo cliente dentro de entidade, caso nao consiga joga uma sqlexception
{
//jogue na string sql o comando sql os valores respectivos no banco de dados
String sql = "INSERT INTO cliente(nomecliente,endereco,uf,telefone,cpf,email) values (?,?,?,?,?,?); ";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setString(1,cliente.getNomecliente());//statement seta string 1=? o que vir de cliente.getNomecliente()
stmt.setString(2,cliente.getEndereco());//statement seta string 2=? o que vir de cliente.getEndereco()
stmt.setString(3,cliente.getUf());//statement seta string 3=? o que vir de cliente.getUf().
stmt.setString(4,cliente.getTelefone());//statement seta string 4=? o que vir de cliente.getTelefone()
stmt.setLong(5, cliente.getCpf());//statement seta string 5=? o que vir de cliente.getCpf()
stmt.setString(6, cliente.getEmail());//statement seta string 6=? o que vier de cliente.getEmail()
//efetua a execução no banco de dados
stmt.execute();
}
//função excluir
public void deletar(Cliente cliente) throws SQLException
{
String sql = "DELETE FROM cliente WHERE cpf = ?";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setLong(1, cliente.getCpf());//statement seta string 1=? o que vir de cliente.getCpf()
stmt.execute();//efetua a execução no banco de dados
}
//função selecionar tudo
public ArrayList<Cliente> selecioneTudo() throws SQLException//tras lista de cliente
{
String sql = "SELECT * FROM cliente";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
return pesquisa(stmt);//pesquisa o statement
}
//metodo pesquisa abstraido
private ArrayList<Cliente> pesquisa(PreparedStatement stmt) throws SQLException {//cria função pesquisa, recebe o statement e retorna lista de cliente
ArrayList<Cliente> clientes = new ArrayList<Cliente>();//crie um arraylist de cliente
stmt.execute();//efetua a execução no banco de dados
//traga o resultado
ResultSet resultSet = stmt.getResultSet();
while(resultSet.next())//enquanto estiver lendo linhas
{
String nomecliente = resultSet.getString("nomecliente");//o que vir de resultset.getString("nomecliente");
String endereco = resultSet.getString("endereco");//o que vir de resultset.getString("endereco");
String uf = resultSet.getString("uf");//o que vir de resultset.getString("uf");
String telefone = resultSet.getString("telefone");//o que vir de resultset.getString("telefone");
Long cpf = resultSet.getLong("cpf");//o que vir de resultset.getString("cpf");
String email = resultSet.getString("email");//o que vier de resultset.getString("email")
Cliente clientecomBancoDados = new Cliente(nomecliente, endereco, uf, telefone, cpf, email);
clientes.add(clientecomBancoDados);
}
return clientes;
}
//selecionar por cpf
public Cliente selectporNome(Cliente cliente) throws SQLException//selecionar usuario por cpf
{
String sql = "SELECT * FROM cliente WHERE cpf = ?";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setLong(1, cliente.getCpf());//statement seta string 1=? o que vir de cliente.getCpf();
return pesquisa(stmt).get(0);//chama metodo pesquisa que retorna lista de clientes e pegue o primeiro na lista de clientes
}
}
VeiculoDAO:
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import model.Veiculo;//importação do veiculo no pacote entidades
public class VeiculoDAO {
private final Connection conexao;
//metodo construtor de conexao
public VeiculoDAO(Connection conexao)
{
this.conexao = conexao;
}
//função inserir
public void inserir(Veiculo veiculo) throws SQLException//passar para a função um cliente do tipo cliente dentro de entidade, caso nao consiga joga uma sqlexception
{
//jogue na string sql o comando sql os valores respectivos no banco de dados
String sql = "INSERT INTO veiculo(numero,placa,fabricante,modelo,anomodelo,qtdportas,acessorios) values (?,?,?,?,?,?,?); ";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setString(1,veiculo.getNumero());//statement seta string 1=? o que vir de veiculo.getNumero()
stmt.setString(2, veiculo.getPlaca());//statement seta string 1=? o que vir de veiculo.getPlaca()
stmt.setString(3, veiculo.getFabricante());//statement seta string 1=? o que vir de veiculo.getFabricante()
stmt.setString(4, veiculo.getModelo());//statement seta string 1=? o que vir de veiculo.getModelo()
stmt.setInt(5, veiculo.getAnomodelo());//statement seta string 1=? o que vir de veiculo.getAnoModelo()
stmt.setInt(6, veiculo.getQtdportas());//statement seta string 1=? o que vir de veiculo.getQtdportas()
stmt.setString(7, veiculo.getAcessorios());//statement seta string 1=? o que vir de veiculo.getAcessorios()
//efetua a execução no banco de dados
stmt.execute();
}
//função deletar
public void deletar(Veiculo veiculo) throws SQLException
{
String sql = "DELETE FROM veiculo WHERE placa = ?";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setString(1, veiculo.getPlaca());//statement seta string 1=? o que vir de veiculo.getPlaca()
stmt.execute();//efetua a execução no banco de dados
}
//função selecionar tudo
public ArrayList<Veiculo> selecioneTudo() throws SQLException//tras lista de veiculo
{
String sql = "SELECT * FROM veiculo";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
return pesquisa(stmt);//pesquisa o statement
}
//metodo pesquisa abstraido
private ArrayList<Veiculo> pesquisa(PreparedStatement stmt) throws SQLException {//cria função pesquisa, recebe o statement e retorna lista de veiculo
ArrayList<Veiculo> veiculos = new ArrayList<Veiculo>();//crie um arraylist de veiculo
stmt.execute();//efetua a execução no banco de dados
//traga o resultado
ResultSet resultSet = stmt.getResultSet();
while(resultSet.next())//enquanto estiver lendo linhas
{
String numero = resultSet.getString("numero");//o que vir de resultset.getString("numero");
String placa = resultSet.getString("placa");//o que vir de resultset.getString("placa");
String fabricante = resultSet.getString("fabricante");//o que vir de resultset.getString("fabricante");
String modelo = resultSet.getString("modelo");//o que vir de resultset.getString("modelo");
int anomodelo = resultSet.getInt("anomodelo");//o que vir de resultset.getString("anomodelo");
int qtdporta = resultSet.getInt("qtdporta");//o que vir de resultset.getString("qtdporta");
String acessorios = resultSet.getString("acessorios");//o que vir de resultset.getString("acessorios");
Veiculo veiculocomBancoDados = new Veiculo(numero, placa, fabricante, modelo, anomodelo, qtdporta, acessorios);
veiculos.add(veiculocomBancoDados);
}
return veiculos;
}
//selecionar por placa
public Veiculo selectporPlaca(Veiculo veiculo) throws SQLException//selecionar usuario por veiculo
{
String sql = "SELECT * FROM veiculo WHERE placa = ?";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setString(2, veiculo.getPlaca());//statement seta string 2=? o que vir de cliente.getPlaca();
return pesquisa(stmt).get(2);//chama metodo pesquisa que retorna lista de veiculos e pegue o primeiro na lista de veiculos
}
}
AluguelDAO.java:
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import model.Aluguel;
public class AluguelDAO {
private final Connection conexao;
//metodo construtor de conexao
public AluguelDAO(Connection conexao)
{
this.conexao = conexao;
}
//função inserir
public void inserir(Aluguel aluguel) throws SQLException//passar para a função um aluguel do tipo aluguel dentro de entidade, caso nao consiga joga uma sqlexception
{
//jogue na string sql o comando sql os valores respectivos no banco de dados
String sql = "INSERT INTO aluguel(idaluguel,veiculo,dataaluguel,dataentrega,cliente,entregue,observacao,valorpago) values (?,?,?,?,?,?,?,?); ";//cria string sql
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setObject(2, aluguel.getVeiculo());//statement seta string 2=? o que vir de aluguel.getVeiculo()
stmt.setDate(3, aluguel.getDataaluguel());//statement seta string 3=? o que vir de aluguel.getDataaluguel()
stmt.setDate(4, aluguel.getDataentrega());//statement seta string 4=? o que vir de aluguel.getDataentrega()
}
}
Aluguel.java:
package model;
import java.util.ArrayList;
import java.sql.Date;
public class Aluguel
{
//definição de variaveis
private int idaluguel;
private Veiculo veiculo;
private Date dataaluguel;
private Date dataentrega;
private Cliente cliente;
private String entregue;
private String observacao;
private Double valorpago;
//metodo construtor
public Aluguel(int idaluguel, Veiculo veiculo, Date dataaluguel, Date dataentrega, Cliente cliente, String entregue, String observacao, Double valorpago) {
this.idaluguel = idaluguel;
this.veiculo = veiculo;
this.dataaluguel = dataaluguel;
this.dataentrega = dataentrega;
this.cliente = cliente;
this.entregue = entregue;
this.observacao = observacao;
this.valorpago = valorpago;
}
//metodos gettes e setters
public int getIdaluguel() {
return idaluguel;
}
public void setIdaluguel(int idaluguel) {
this.idaluguel = idaluguel;
}
public Veiculo getVeiculo() {
return veiculo;
}
public void setVeiculo(Veiculo veiculo) {
this.veiculo = veiculo;
}
public Date getDataaluguel() {
return dataaluguel;
}
public void setDataaluguel(Date dataaluguel) {
this.dataaluguel = dataaluguel;
}
public Date getDataentrega() {
return dataentrega;
}
public void setDataentrega(Date dataentrega) {
this.dataentrega = dataentrega;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public String getEntregue() {
return entregue;
}
public void setEntregue(String entregue) {
this.entregue = entregue;
}
public String getObservacao() {
return observacao;
}
public void setObservacao(String observacao) {
this.observacao = observacao;
}
public Double getValorpago() {
return valorpago;
}
public void setValorpago(Double valorpago) {
this.valorpago = valorpago;
}
}
Github:
https://github.com/YUSEIRENDER/AlocaCar