quarta-feira, 25 de novembro de 2009

Funcionamento Básico

O Mapeator carrega todas as classes do seu projeto.
Na Primeira Tela selecionamos as classes que serão persistentes ou seja irão virar tabelas, note que selecionamos a classe endereço porém outras classes também foram carregadas, isto acontece porque a classe endereço tem alguma dependência dessas outras classes ou as outras classes dependem dela para existir.
Na Tela 2 podemos fazer toda a configuração de como a classe será mapeada para o banco, note que normalmente usaremos a configuração default.
Na Tela 3 temos todas as tabelas que serão geradas, podemos ver os scripts e as estruturas das tabelas que serão criadas.
Na Tela 4 podemos ver as tabelas que foram criadas no mysql.
Observação a classe DAO também já foi gerada.





























A Classe de négocio endereço é a sequinte:
//Classe de negócio
public class Endereco {

private int id;
private String logradouro;
private String numero;
private String complemento;
private String cep;
private String cxPostal;
private Bairro bairro;
private Municipio municipio;
private Estado estado;
private Pais pais;
private TipoEndereco tipo;
private int idAnterior;

}

//A Classe DAO gerada automaticamente pelo mapeator foi a sequinte
package PessoasDadosDAO;

import PessoasDados.Endereco;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Date;
import java.util.LinkedList;
import com.mysql.jdbc.PreparedStatement;
import java.sql.Statement;

public class EnderecoDAO {

public int atualizarLogradouro(int id, String logradouro, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set logradouroendereco=? where idEndereco='" + id + "'");
stm.setString(1, logradouro);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarNumero(int id, String numero, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set numeroendereco=? where idEndereco='" + id + "'");
stm.setString(1, numero);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarComplemento(int id, String complemento, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set complementoendereco=? where idEndereco='" + id + "'");
stm.setString(1, complemento);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarCep(int id, String cep, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set cependereco=? where idEndereco='" + id + "'");
stm.setString(1, cep);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarCxPostal(int id, String cxPostal, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set cxpostalendereco=? where idEndereco='" + id + "'");
stm.setString(1, cxPostal);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarIdAnterior(int id, int idAnterior, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set idanteriorendereco=? where idEndereco='" + id + "'");
stm.setInt(1, idAnterior);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarBairro(int id, int bairro, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set bairroendereco=? where idEndereco='" + id + "'");
stm.setInt(1, bairro);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarMunicipio(int id, int municipio, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set municipioendereco=? where idEndereco='" + id + "'");
stm.setInt(1, municipio);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarEstado(int id, int estado, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set estadoendereco=? where idEndereco='" + id + "'");
stm.setInt(1, estado);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarPais(int id, int pais, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set paisendereco=? where idEndereco='" + id + "'");
stm.setInt(1, pais);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public int atualizarTipo(int id, int tipo, java.sql.Connection con) throws SQLException {
PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set tipoendereco=? where idEndereco='" + id + "'");
stm.setInt(1, tipo);
stm.executeUpdate();
int result = stm.getUpdateCount();
return result;
}

public void excluirRestrito(int id, java.sql.Connection con) throws SQLException {

PreparedStatement stm1 = (PreparedStatement) con.prepareStatement("delete from endereco where idEndereco=" + id);
stm1.executeUpdate();

}

public void excluirCascata(int id, java.sql.Connection con) throws SQLException {

PreparedStatement stm0 = (PreparedStatement) con.prepareStatement("delete from endereco where idendereco=" + id);
stm0.executeUpdate();

}

public int inserir_Ou_Atualizar(int comp, Endereco objeto, java.sql.Connection con) throws SQLException {

int id = 0;
if (objeto.getId() <= 0) {



PreparedStatement stm = (PreparedStatement) con.prepareStatement("insert into endereco(logradouroendereco,numeroendereco,complementoendereco,cependereco,cxpostalendereco,idanteriorendereco,bairroendereco,municipioendereco,estadoendereco,paisendereco,tipoendereco,pessoaendereco) values (?,?,?,?,?,?,?,?,?,?,?,?)", Statement.RETURN_GENERATED_KEYS);
stm.setString(1, objeto.getLogradouro());
stm.setString(2, objeto.getNumero());
stm.setString(3, objeto.getComplemento());
stm.setString(4, objeto.getCep());
stm.setString(5, objeto.getCxPostal());
stm.setInt(6, objeto.getIdAnterior());
stm.setInt(7, objeto.getBairro().getId());
stm.setInt(8, objeto.getMunicipio().getId());
stm.setInt(9, objeto.getEstado().getId());
stm.setInt(10, objeto.getPais().getId());
stm.setInt(11, objeto.getTipo().getId());
stm.setInt(12, comp);
stm.execute();
ResultSet r = stm.getGeneratedKeys();
r.next();
id = r.getInt(1);

return id;

} else {
id = objeto.getId();

PreparedStatement stm = (PreparedStatement) con.prepareStatement("update endereco set logradouroendereco=?,numeroendereco=?,complementoendereco=?,cependereco=?,cxpostalendereco=?,idanteriorendereco=?,bairroendereco=?,municipioendereco=?,estadoendereco=?,paisendereco=?,tipoendereco=? where idendereco='" + objeto.getId() + "'");
stm.setString(1, objeto.getLogradouro());
stm.setString(2, objeto.getNumero());
stm.setString(3, objeto.getComplemento());
stm.setString(4, objeto.getCep());
stm.setString(5, objeto.getCxPostal());
stm.setInt(6, objeto.getIdAnterior());
stm.setInt(7, objeto.getBairro().getId());
stm.setInt(8, objeto.getMunicipio().getId());
stm.setInt(9, objeto.getEstado().getId());
stm.setInt(10, objeto.getPais().getId());
stm.setInt(11, objeto.getTipo().getId());

stm.executeUpdate();


}
return 0;
}

public int[] inserir(int comp, LinkedList lista, boolean atualizarListaComp, java.sql.Connection con) throws SQLException {
if (atualizarListaComp) {
LinkedList antiga = this.getporPessoa(comp, con);
int j = 0;
boolean achou = false;
while (j < antiga.size()) {
achou = false;
int i = 0;
while (i < lista.size()) {
if (antiga.get(j).getId() == lista.get(i).getId()) {
achou = true;


}
i++;
}
if (!(achou)) {
this.excluirRestrito(antiga.get(j).getId(), con);
}
j++;
}
}
int[] chaves = new int[lista.size()];
int i = 0;
while (i < lista.size()) {
chaves[i] = this.inserir_Ou_Atualizar(comp, lista.get(i), con);
i++;
}

return chaves;
}

public Endereco get(int id, java.sql.Connection con) throws SQLException {
Endereco objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());


ResultSet rs0 = con.createStatement().executeQuery("select " + "endereco.idendereco," +
"logradouroendereco," +
"numeroendereco," +
"complementoendereco," +
"cependereco," +
"cxpostalendereco," +
"idanteriorendereco," +
"bairro.idbairro," +
"nomebairro," +
"municipiobairro," +
"idanteriorbairro," +
"municipio.idmunicipio," +
"codigomunicipio," +
"nomemunicipio," +
"estadomunicipio," +
"idanteriormunicipio," +
"estado.idestado," +
"codigoestado," +
"nomeestado," +
"siglaestado," +
"paisestado," +
"idanteriorestado," +
"pais.idpais," +
"nomepais," +
"tipoendereco.idtipoendereco," +
"descricaotipoendereco" +
" from endereco" +
" inner join bairro on bairroendereco=bairro.idbairro" +
" inner join municipio on municipioendereco=municipio.idmunicipio" +
" inner join estado on estadoendereco=estado.idestado" +
" inner join pais on paisendereco=pais.idpais" +
" inner join tipoendereco on tipoendereco=tipoendereco.idtipoendereco" +
" where endereco.idendereco='" + id + "'");

if (rs0.next()) {
objeto.setId(rs0.getInt("idendereco"));
objeto.setLogradouro(rs0.getString("logradouroendereco"));
objeto.setNumero(rs0.getString("numeroendereco"));
objeto.setComplemento(rs0.getString("complementoendereco"));
objeto.setCep(rs0.getString("cependereco"));
objeto.setCxPostal(rs0.getString("cxpostalendereco"));
objeto.setIdAnterior(rs0.getInt("idanteriorendereco"));
objeto.getBairro().setId(rs0.getInt("idbairro"));
objeto.getBairro().setNome(rs0.getString("nomebairro"));
objeto.getBairro().setMunicipio(rs0.getInt("municipiobairro"));
objeto.getBairro().setIdAnterior(rs0.getInt("idanteriorbairro"));
objeto.getMunicipio().setId(rs0.getInt("idmunicipio"));
objeto.getMunicipio().setCodigo(rs0.getInt("codigomunicipio"));
objeto.getMunicipio().setNome(rs0.getString("nomemunicipio"));
objeto.getMunicipio().setEstado(rs0.getInt("estadomunicipio"));
objeto.getMunicipio().setIdAnterior(rs0.getInt("idanteriormunicipio"));
objeto.getEstado().setId(rs0.getInt("idestado"));
objeto.getEstado().setCodigo(rs0.getInt("codigoestado"));
objeto.getEstado().setNome(rs0.getString("nomeestado"));
objeto.getEstado().setSigla(rs0.getString("siglaestado"));
objeto.getEstado().setPais(rs0.getInt("paisestado"));
objeto.getEstado().setIdAnterior(rs0.getInt("idanteriorestado"));
objeto.getPais().setId(rs0.getInt("idpais"));
objeto.getPais().setNome(rs0.getString("nomepais"));
objeto.getTipo().setId(rs0.getInt("idtipoendereco"));
objeto.getTipo().setDescricao(rs0.getString("descricaotipoendereco"));


}
return objeto;


}

public LinkedList get(String restricao, String[] param, java.sql.Connection con) throws SQLException {
for (int i = 0; i < param.length; i++) {
int index = restricao.indexOf("?");
restricao = restricao.substring(0, index) + param[i] + restricao.substring(index + 1);
}
Endereco objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

LinkedList lista = new LinkedList();

ResultSet rs0 = con.createStatement().executeQuery("select " + "endereco.idendereco," +
"logradouroendereco," +
"numeroendereco," +
"complementoendereco," +
"cependereco," +
"cxpostalendereco," +
"idanteriorendereco," +
"bairro.idbairro," +
"nomebairro," +
"municipiobairro," +
"idanteriorbairro," +
"municipio.idmunicipio," +
"codigomunicipio," +
"nomemunicipio," +
"estadomunicipio," +
"idanteriormunicipio," +
"estado.idestado," +
"codigoestado," +
"nomeestado," +
"siglaestado," +
"paisestado," +
"idanteriorestado," +
"pais.idpais," +
"nomepais," +
"tipoendereco.idtipoendereco," +
"descricaotipoendereco" +
" from endereco" +
" inner join bairro on bairroendereco=bairro.idbairro" +
" inner join municipio on municipioendereco=municipio.idmunicipio" +
" inner join estado on estadoendereco=estado.idestado" +
" inner join pais on paisendereco=pais.idpais" +
" inner join tipoendereco on tipoendereco=tipoendereco.idtipoendereco" +
" where" + restricao);

while (rs0.next()) {
objeto.setId(rs0.getInt("idendereco"));
objeto.setLogradouro(rs0.getString("logradouroendereco"));
objeto.setNumero(rs0.getString("numeroendereco"));
objeto.setComplemento(rs0.getString("complementoendereco"));
objeto.setCep(rs0.getString("cependereco"));
objeto.setCxPostal(rs0.getString("cxpostalendereco"));
objeto.setIdAnterior(rs0.getInt("idanteriorendereco"));
objeto.getBairro().setId(rs0.getInt("idbairro"));
objeto.getBairro().setNome(rs0.getString("nomebairro"));
objeto.getBairro().setMunicipio(rs0.getInt("municipiobairro"));
objeto.getBairro().setIdAnterior(rs0.getInt("idanteriorbairro"));
objeto.getMunicipio().setId(rs0.getInt("idmunicipio"));
objeto.getMunicipio().setCodigo(rs0.getInt("codigomunicipio"));
objeto.getMunicipio().setNome(rs0.getString("nomemunicipio"));
objeto.getMunicipio().setEstado(rs0.getInt("estadomunicipio"));
objeto.getMunicipio().setIdAnterior(rs0.getInt("idanteriormunicipio"));
objeto.getEstado().setId(rs0.getInt("idestado"));
objeto.getEstado().setCodigo(rs0.getInt("codigoestado"));
objeto.getEstado().setNome(rs0.getString("nomeestado"));
objeto.getEstado().setSigla(rs0.getString("siglaestado"));
objeto.getEstado().setPais(rs0.getInt("paisestado"));
objeto.getEstado().setIdAnterior(rs0.getInt("idanteriorestado"));
objeto.getPais().setId(rs0.getInt("idpais"));
objeto.getPais().setNome(rs0.getString("nomepais"));
objeto.getTipo().setId(rs0.getInt("idtipoendereco"));
objeto.getTipo().setDescricao(rs0.getString("descricaotipoendereco"));


lista.add(objeto);
objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

}
return lista;


}

public Endereco getSimplificado(int id, java.sql.Connection con) throws SQLException {
Endereco objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());


ResultSet rs0 = con.createStatement().executeQuery("select " + "endereco.idendereco," +
"logradouroendereco," +
"numeroendereco," +
"complementoendereco," +
"cependereco," +
"cxpostalendereco," +
"idanteriorendereco," +
"bairroendereco," +
"municipioendereco," +
"estadoendereco," +
"paisendereco," +
"tipoendereco" +
" from endereco" +
" where endereco.idendereco='" + id + "'");

if (rs0.next()) {
objeto.setId(rs0.getInt("idendereco"));
objeto.setLogradouro(rs0.getString("logradouroendereco"));
objeto.setNumero(rs0.getString("numeroendereco"));
objeto.setComplemento(rs0.getString("complementoendereco"));
objeto.setCep(rs0.getString("cependereco"));
objeto.setCxPostal(rs0.getString("cxpostalendereco"));
objeto.setIdAnterior(rs0.getInt("idanteriorendereco"));
objeto.getBairro().setId(rs0.getInt("bairroendereco"));
objeto.getMunicipio().setId(rs0.getInt("municipioendereco"));
objeto.getEstado().setId(rs0.getInt("estadoendereco"));
objeto.getPais().setId(rs0.getInt("paisendereco"));
objeto.getTipo().setId(rs0.getInt("tipoendereco"));


}
return objeto;


}

public LinkedList getSimplificado(String restricao, String[] param, java.sql.Connection con) throws SQLException {
for (int i = 0; i < param.length; i++) {
int index = restricao.indexOf("?");
restricao = restricao.substring(0, index) + param[i] + restricao.substring(index + 1);
}
Endereco objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

LinkedList lista = new LinkedList();

ResultSet rs0 = con.createStatement().executeQuery("select " + "endereco.idendereco," +
"logradouroendereco," +
"numeroendereco," +
"complementoendereco," +
"cependereco," +
"cxpostalendereco," +
"idanteriorendereco," +
"bairroendereco," +
"municipioendereco," +
"estadoendereco," +
"paisendereco," +
"tipoendereco" +
" from endereco" +
" where" + restricao);

while (rs0.next()) {
objeto.setId(rs0.getInt("idendereco"));
objeto.setLogradouro(rs0.getString("logradouroendereco"));
objeto.setNumero(rs0.getString("numeroendereco"));
objeto.setComplemento(rs0.getString("complementoendereco"));
objeto.setCep(rs0.getString("cependereco"));
objeto.setCxPostal(rs0.getString("cxpostalendereco"));
objeto.setIdAnterior(rs0.getInt("idanteriorendereco"));
objeto.getBairro().setId(rs0.getInt("bairroendereco"));
objeto.getMunicipio().setId(rs0.getInt("municipioendereco"));
objeto.getEstado().setId(rs0.getInt("estadoendereco"));
objeto.getPais().setId(rs0.getInt("paisendereco"));
objeto.getTipo().setId(rs0.getInt("tipoendereco"));


lista.add(objeto);
objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

}
return lista;


}

public LinkedList getporPessoa(int id, java.sql.Connection con) throws SQLException {
Endereco objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

LinkedList lista = new LinkedList();

ResultSet rs0 = con.createStatement().executeQuery("select " + "endereco.idendereco," +
"logradouroendereco," +
"numeroendereco," +
"complementoendereco," +
"cependereco," +
"cxpostalendereco," +
"idanteriorendereco," +
"bairro.idbairro," +
"nomebairro," +
"municipiobairro," +
"idanteriorbairro," +
"municipio.idmunicipio," +
"codigomunicipio," +
"nomemunicipio," +
"estadomunicipio," +
"idanteriormunicipio," +
"estado.idestado," +
"codigoestado," +
"nomeestado," +
"siglaestado," +
"paisestado," +
"idanteriorestado," +
"pais.idpais," +
"nomepais," +
"tipoendereco.idtipoendereco," +
"descricaotipoendereco" +
" from endereco" +
" inner join bairro on bairroendereco=bairro.idbairro" +
" inner join municipio on municipioendereco=municipio.idmunicipio" +
" inner join estado on estadoendereco=estado.idestado" +
" inner join pais on paisendereco=pais.idpais" +
" inner join tipoendereco on tipoendereco=tipoendereco.idtipoendereco" +
" where endereco.pessoaendereco='" + id + "'");

while (rs0.next()) {
objeto.setId(rs0.getInt("idendereco"));
objeto.setLogradouro(rs0.getString("logradouroendereco"));
objeto.setNumero(rs0.getString("numeroendereco"));
objeto.setComplemento(rs0.getString("complementoendereco"));
objeto.setCep(rs0.getString("cependereco"));
objeto.setCxPostal(rs0.getString("cxpostalendereco"));
objeto.setIdAnterior(rs0.getInt("idanteriorendereco"));
objeto.getBairro().setId(rs0.getInt("idbairro"));
objeto.getBairro().setNome(rs0.getString("nomebairro"));
objeto.getBairro().setMunicipio(rs0.getInt("municipiobairro"));
objeto.getBairro().setIdAnterior(rs0.getInt("idanteriorbairro"));
objeto.getMunicipio().setId(rs0.getInt("idmunicipio"));
objeto.getMunicipio().setCodigo(rs0.getInt("codigomunicipio"));
objeto.getMunicipio().setNome(rs0.getString("nomemunicipio"));
objeto.getMunicipio().setEstado(rs0.getInt("estadomunicipio"));
objeto.getMunicipio().setIdAnterior(rs0.getInt("idanteriormunicipio"));
objeto.getEstado().setId(rs0.getInt("idestado"));
objeto.getEstado().setCodigo(rs0.getInt("codigoestado"));
objeto.getEstado().setNome(rs0.getString("nomeestado"));
objeto.getEstado().setSigla(rs0.getString("siglaestado"));
objeto.getEstado().setPais(rs0.getInt("paisestado"));
objeto.getEstado().setIdAnterior(rs0.getInt("idanteriorestado"));
objeto.getPais().setId(rs0.getInt("idpais"));
objeto.getPais().setNome(rs0.getString("nomepais"));
objeto.getTipo().setId(rs0.getInt("idtipoendereco"));
objeto.getTipo().setDescricao(rs0.getString("descricaotipoendereco"));


lista.add(objeto);
objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

}
return lista;


}

public LinkedList getporPessoaSimplificado(int id, java.sql.Connection con) throws SQLException {
Endereco objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

LinkedList lista = new LinkedList();

ResultSet rs0 = con.createStatement().executeQuery("select " + "endereco.idendereco," +
"logradouroendereco," +
"numeroendereco," +
"complementoendereco," +
"cependereco," +
"cxpostalendereco," +
"idanteriorendereco," +
"bairroendereco," +
"municipioendereco," +
"estadoendereco," +
"paisendereco," +
"tipoendereco" +
" from endereco" +
" where endereco.pessoaendereco='" + id + "'");

while (rs0.next()) {
objeto.setId(rs0.getInt("idendereco"));
objeto.setLogradouro(rs0.getString("logradouroendereco"));
objeto.setNumero(rs0.getString("numeroendereco"));
objeto.setComplemento(rs0.getString("complementoendereco"));
objeto.setCep(rs0.getString("cependereco"));
objeto.setCxPostal(rs0.getString("cxpostalendereco"));
objeto.setIdAnterior(rs0.getInt("idanteriorendereco"));
objeto.getBairro().setId(rs0.getInt("bairroendereco"));
objeto.getMunicipio().setId(rs0.getInt("municipioendereco"));
objeto.getEstado().setId(rs0.getInt("estadoendereco"));
objeto.getPais().setId(rs0.getInt("paisendereco"));
objeto.getTipo().setId(rs0.getInt("tipoendereco"));


lista.add(objeto);
objeto = new Endereco();
objeto.setBairro(new PessoasDados.Bairro());
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.setEstado(new PessoasDados.Estado());
objeto.setPais(new PessoasDados.Pais());
objeto.setTipo(new PessoasDados.TipoEndereco());

}
return lista;


}

public void testarInsercao(java.sql.Connection con) throws SQLException {
Endereco objeto = new Endereco();
objeto.setLogradouro(" ");
objeto.setNumero(" ");
objeto.setComplemento(" ");
objeto.setCep(" ");
objeto.setCxPostal(" ");
objeto.setIdAnterior(1);
objeto.setBairro(new PessoasDados.Bairro());
objeto.getBairro().setId(1);
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.getMunicipio().setId(1);
objeto.setEstado(new PessoasDados.Estado());
objeto.getEstado().setId(1);
objeto.setPais(new PessoasDados.Pais());
objeto.getPais().setId(1);
objeto.setTipo(new PessoasDados.TipoEndereco());
objeto.getTipo().setId(1);
objeto.setLogradouro(" ");
objeto.setNumero(" ");
objeto.setComplemento(" ");
objeto.setCep(" ");
objeto.setCxPostal(" ");
objeto.setIdAnterior(1);
objeto.setBairro(new PessoasDados.Bairro());
objeto.getBairro().setId(1);
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.getMunicipio().setId(1);
objeto.setEstado(new PessoasDados.Estado());
objeto.getEstado().setId(1);
objeto.setPais(new PessoasDados.Pais());
objeto.getPais().setId(1);
objeto.setTipo(new PessoasDados.TipoEndereco());
objeto.getTipo().setId(1);

new EnderecoDAO().inserir_Ou_Atualizar(1, objeto, con);

}

public void testarAlteracao(java.sql.Connection con) throws SQLException {
Endereco objeto = new Endereco();
objeto.setId(1);
objeto.setLogradouro(" ");
objeto.setNumero(" ");
objeto.setComplemento(" ");
objeto.setCep(" ");
objeto.setCxPostal(" ");
objeto.setIdAnterior(1);
objeto.setBairro(new PessoasDados.Bairro());
objeto.getBairro().setId(1);
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.getMunicipio().setId(1);
objeto.setEstado(new PessoasDados.Estado());
objeto.getEstado().setId(1);
objeto.setPais(new PessoasDados.Pais());
objeto.getPais().setId(1);
objeto.setTipo(new PessoasDados.TipoEndereco());
objeto.getTipo().setId(1);

new EnderecoDAO().inserir_Ou_Atualizar(1, objeto, con);

}

public String testarGet(java.sql.Connection con) throws SQLException {
Endereco objeto = new EnderecoDAO().get(1, con);
String x = "";
x += "logradouro=" + objeto.getLogradouro() + "\n";
x += "numero=" + objeto.getNumero() + "\n";
x += "complemento=" + objeto.getComplemento() + "\n";
x += "cep=" + objeto.getCep() + "\n";
x += "cxPostal=" + objeto.getCxPostal() + "\n";
x += "idAnterior=" + objeto.getIdAnterior() + "\n";
x += "bairro=" + objeto.getBairro().getId();
x += "municipio=" + objeto.getMunicipio().getId();
x += "estado=" + objeto.getEstado().getId();
x += "pais=" + objeto.getPais().getId();
x += "tipo=" + objeto.getTipo().getId();

System.out.print(x);
return x;
}/*public PessoasDados.Endereco get(){
PessoasDados.Endereco objeto = new PessoasDados.Endereco();

try{

if (!(this.jTextFieldId.getText().equalsIgnoreCase("")))
objeto.setId(Integer.parseInt(this.jTextFieldId.getText()));
objeto.setLogradouro(this.jTextFieldLogradouro.getText());
objeto.setNumero(this.jTextFieldNumero.getText());
objeto.setComplemento(this.jTextFieldComplemento.getText());
objeto.setCep(this.jTextFieldCep.getText());
objeto.setCxPostal(this.jTextFieldCxPostal.getText());
objeto.setIdAnterior(Integer.parseInt(this.jTextFieldIdAnterior.getText()));
objeto.setBairro(new PessoasDados.Bairro());
objeto.getBairro().setId(Integer.parseInt(sbDropDownBairro.getChave(0).toString()));
objeto.setMunicipio(new PessoasDados.Municipio());
objeto.getMunicipio().setId(Integer.parseInt(sbDropDownMunicipio.getChave(0).toString()));
objeto.setEstado(new PessoasDados.Estado());
objeto.getEstado().setId(Integer.parseInt(sbDropDownEstado.getChave(0).toString()));
objeto.setPais(new PessoasDados.Pais());
objeto.getPais().setId(Integer.parseInt(sbDropDownPais.getChave(0).toString()));
objeto.setTipo(new PessoasDados.TipoEndereco());
objeto.getTipo().setId(Integer.parseInt(sbDropDownTipo.getChave(0).toString()));

return objeto;

}catch(NumberFormatException e){
System.out.println("Formato Numerico Inválido.");
}
catch (ParseException ex) {
javax.swing.JOptionPane.showMessageDialog(this, "Formato Decimal ou Data Inválido.");}
}*//*public void set(PessoasDados.Endereco objeto){

try{
this.jTextFieldId.setText(""+objeto.getId());
this.jTextFieldLogradouro.setText(objeto.getLogradouro());
this.jTextFieldNumero.setText(objeto.getNumero());
this.jTextFieldComplemento.setText(objeto.getComplemento());
this.jTextFieldCep.setText(objeto.getCep());
this.jTextFieldCxPostal.setText(objeto.getCxPostal());
this.jTextFieldIdAnterior.setText(""+objeto.getIdAnterior());
this.sbDropDownBairro.set(objeto.getBairro().getId()+"",0);
this.sbDropDownMunicipio.set(objeto.getMunicipio().getId()+"",0);
this.sbDropDownEstado.set(objeto.getEstado().getId()+"",0);
this.sbDropDownPais.set(objeto.getPais().getId()+"",0);
this.sbDropDownTipo.set(objeto.getTipo().getId()+"",0);

}
catch (SbDropDownException ex) {
javax.swing.JOptionPane.showMessageDialog(this,ex.getMessage());
}
}*/



public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
Teste.GerenciadorConexao con = new Teste.GerenciadorConexao();
try {
con.iniciarTransacao();
new EnderecoDAO().testarInsercao(con.getConexao());
// new EnderecoDAO().testarAlteracao(con.getConexao());
// new EnderecoDAO().testarGet(con.getConexao());
con.concluirTransacao();
} catch (SQLException sqlException) {
sqlException.printStackTrace();
javax.swing.JOptionPane.showMessageDialog(null, sqlException.getMessage());
} catch (ClassNotFoundException classNotFound) {
javax.swing.JOptionPane.showMessageDialog(null, classNotFound.getMessage());
}
}
});
}
}

O que é o Mapeator.

Mapeator é uma ferramenta para criação do banco de dados, e das classes de persistência popularmente conhecidas como classes DAO(Data Acess Object). Claro a primeira pergunta que todo mundo vai fazer é por que usar o mapeator se já existe o hibernate e outras ferramentas de persistência para java. Para isso vou explicar de forma detalhada como o mapeator funciona.

1-O Mapeator irá ler automaticamente todas as classes do seu projeto, campos primitivos , heranças, agregações,composições etc.
2-Você não terá necessidade de ficar escrevendo o mapeamento em xml, e caso precise fazer alguma configuração especifica como definir um primary key ou dizer que um campo não será persistente você fará tudo via interface gráfica de forma rápida e intuitiva.
3-As classes DAO, ou seja as classes que executam o sql, não ficarão invisiveis para o programador, ao contrário elas serão criadas automaticamente dentro do seu projeto e você terá acesso total ao código podendo até modificá-lo embora não seja necessário.
4-O banco também será criado automaticamente com todas as Chaves primarias, chaves estrangeiras, restrições etc. Não sendo necessário a criação de nenhum tipo de arquivo de configuração a tradução ocorrerá automaticamente através das estruturas de classes. Sendo que é claro algumas configurações poderão ser feitas via interface grafica.
5-Independência de tecnologia, ou seja o mapeator irá fazer todo serviço chato de criação do banco e das classes de presistência para você, depois de feito isso diferentemente do hibernate por exemplo, você não irá precisar ter o mapeator no seu projeto para ele rodar.

Bom mas talvez para quem já usa diariamente outra ferramenta pareça algo de outro mundo a ferramente descrita neste artigo.
Hoje eu tenho um sistema de gerenciamento comercial, são 150 tabelas no banco de dados até então, e classes de vários tipos com vários tipos de relacionamento etc. È um sistema real que roda hoje em algumas empresas. Com o mapeator eu crio essas 150 tabelas no banco de dados mysql e também as classes de persistência para ligar os objetos com essas tabelas, em aproximadamente 5 min.

O mapeator surgiu da necessidade que vimos de criar uma ferramenta que fosse geradora de código e não algo que ficasse encapsulado para o progamador, e também que possibilitasse a independência de tecnologia. Tudo isso com rapidez e eficiência.

Criadores:
Marcus Vinicius Siqueira Nascimento - Bacharel em Ciência da Computação
Patrick Ferreira Schwambach - Bacharel em Ciência da Computaçaõ.

Estamos preparando uma versão de teste,em breve estaremos disponibilizando os fontes para a avalição dos leitores.

terça-feira, 22 de setembro de 2009