Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Desenvolvimento Web II / Aula
Então, já temos o banco de dados e as tabelas criadas para a nossa aplicação. Precisamos definir as classes para realização de consultas e inserções nessas tabelas. Para isso, criaremos no pacote br.ufrn.imd.dao as seguintes classes: CobradorDao, EmpresaDao, LinhaDao, MotoristaDao e OnibusDao. Todas as classes possuirão métodos para manipular as respectivas entidades no banco de dados SITURB. A classe CobradorDao, apresentada na Listagem 1, possui um método para consultar todos os cobradores (buscarTodosCobradores) e um método para inserir um cobrador (inserirCobrador) no banco de dados.
Observe que estamos usando as APIs do pacote java.sql.* para realização das nossas consultas e inserções nas nossas tabelas. Essas são as APIs fornecidas pela plataforma Java para manipulações em bancos de dados.
package br.ufrn.imd.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.ufrn.imd.model.Cobrador;
/**
* Classe para manipulação de informações de cobradores na base de dados.
* @author itamir.filho
*
*/
public class CobradorDao {
/**
* Lista todos os cobradores cadastrados.
* @return
*/
public List<Cobrador> buscarTodosCobradores() {
List<Cobrador> resultado = new ArrayList<Cobrador>();
Connection con = GerenciadorConexao.getConexao();
String sql = "select * from cobrador";
try {
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Cobrador cobrador = new Cobrador();
cobrador.setCpf(rs.getString("cpf"));
cobrador.setEndereco(rs.getString("endereco"));
cobrador.setMatricula(rs.getString("matricula"));
cobrador.setNome(rs.getString("nome"));
resultado.add(cobrador);
}
} catch (SQLException e) {
e.printStackTrace();
}
return resultado;
}
/**
* Método para realizar a inserção de um cobrador no BD.
* @param cobrador
*/
public void inserirCobrador(Cobrador cobrador) {
Connection con = GerenciadorConexao.getConexao();
String sql = "insert into cobrador values (?,?,?,?)";
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, cobrador.getNome());
ps.setString(2, cobrador.getCpf());
ps.setString(3, cobrador.getMatricula());
ps.setString(4, cobrador.getEndereco());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Passamos para a classe EmpresaDao que é apresentada na Listagem 2. Nessa classe temos dois métodos: um para consultar todas as empresas inseridas (buscarTodasEmpresas) e outro para inserção de uma empresa (inserirEmpresa) na base de dados.
package br.ufrn.imd.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.ufrn.imd.model.Empresa;
/**
* Classe para manipulação de informações das empresas na base de dados.
* @author itamir.filho
*
*/
public class EmpresaDao {
/**
* Lista todas as empresas cadastradas.
* @return
*/
public List<Empresa> buscarTodasEmpresas() {
List<Empresa> resultado = new ArrayList<Empresa>();
Connection con = GerenciadorConexao.getConexao();
String sql = "select * from empresa";
try {
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Empresa empresa = new Empresa();
empresa.setCnpj(rs.getString("cnpj"));
empresa.setRazaoSocial(rs.getString("razao_social"));
resultado.add(empresa);
}
} catch (SQLException e) {
e.printStackTrace();
}
return resultado;
}
/**
* Método para realizar a inserção de uma empresa no BD.
* @param empresa
*/
public void inserirEmpresa(Empresa empresa) {
Connection con = GerenciadorConexao.getConexao();
String sql = "insert into empresa values (?,?)";
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, empresa.getRazaoSocial());
ps.setString(2, empresa.getCnpj());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Versão 5.3 - Todos os Direitos reservados