Ola boa noite entao estava estudando uns codigos feito pelo professor e acabei encontrando um this e queria entender o porque dele ele esta na parte em categoriaDAO " this.con = Conexao.conectar();"
package controller;
//DAO = Data Access Object
//O objeto de acesso a dados é uma classe que especifica
import java.util.List;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import model.Categoria;
import java.util.ArrayList;
//todas as operacoes que podem ser realizadas com a
//respectiva tabela
public class CategoriaDAO {
//estabelecer conexao com o banco
private final Connection con;
//enviar comando sql
private PreparedStatement cmd;
public CategoriaDAO(){
this.con = Conexao.conectar();
}
/*
INSERIR
*/
public int inserir(Categoria obj){
try {
String SQL = "insert into tb_categoria "
+ "(nome,fg_ativo) values (?,?)";
cmd = con.prepareStatement(SQL);
cmd.setString(1, obj.getNome());
cmd.setInt(2,obj.getFg_ativo());
if (cmd.executeUpdate() > 0){
//operação realizada com sucesso
return 1; //OK
}else{
return -1; // ERRO
}
} catch (SQLException e) {
System.err.println("ERRO: " + e.getMessage());
return -1;
}finally{
Conexao.desconectar(con);
}
}
//
// LISTAR
// Retorna todos os dados da tabela
public List<Categoria> listar(){
try {
String SQL = "select * from tb_categoria";
cmd = con.prepareStatement(SQL);
//executar a consulta
List<Categoria> lista = new ArrayList<>();
ResultSet rs = cmd.executeQuery();
while (rs.next()){
Categoria cat = new Categoria();
cat.setId(rs.getInt("id"));
cat.setNome(rs.getString("nome"));
cat.setFg_ativo(rs.getInt("fg_ativo"));
lista.add(cat);
}
return lista;
} catch (SQLException e) {
System.err.println("ERRO: " + e.getMessage());
return null;
}finally{
Conexao.desconectar(con);
}
}
}