package br.com.etl.usuarios;
import br.com.acessobd.AcessoBdAcordeon;
import br.com.acessobd.AcessoBdDw;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class UsuarioETL {
PreparedStatement pstm;
ResultSet rs;
String consultaUsuario = "SELECT * FROM USUARIO";
String cadastraUsuario = "INSERT INTO USUARIO (ID, CPF, DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) "
+ "VALUES(?,?,?,?,?,?,?,?)";
public List<UsuarioBean> extract() {
List<UsuarioBean> listUsuario = new ArrayList<UsuarioBean>();
try {
AcessoBdAcordeon mysql = new AcessoBdAcordeon();
pstm = mysql.conectar().prepareStatement(consultaUsuario);
rs = pstm.executeQuery();
UsuarioBean usu;
while (rs.next()) {
usu = new UsuarioBean();
usu.setId(rs.getInt("id"));
usu.setCpf(rs.getString("cpf"));
usu.setDtNasc(rs.getDate("dt_nasc"));
usu.setEmail(rs.getString("email"));
usu.setNomeCompleto(rs.getString("nome_completo"));
usu.setSenha(rs.getString("senha"));
usu.setSexo(rs.getInt("sexo"));
usu.setTelefone(rs.getString("telefone"));
listUsuario.add(usu);
}
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
return listUsuario;
}
public String transform(int sexo) {
if (sexo == 0) {
return "M";
} else {
return "F";
}
}
public void load(UsuarioBean usuario) {
try {
AcessoBdDw mysql = new AcessoBdDw();
pstm = mysql.conectar().prepareStatement(cadastraUsuario);
pstm.setInt(1, usuario.getId());
pstm.setString(2, usuario.getCpf());
pstm.setDate(3, usuario.getDtNasc());
pstm.setString(4, usuario.getEmail());
pstm.setString(5, usuario.getNomeCompleto());
pstm.setString(6, usuario.getSenha());
pstm.setString(7, transform(usuario.getSexo()));
pstm.setString(8, usuario.getTelefone());
pstm.executeUpdate();
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
UsuarioETL usuario = new UsuarioETL();
List<UsuarioBean> listUsuario = usuario.extract();
Iterator<UsuarioBean> itU = listUsuario.iterator();
while(itU.hasNext()){
UsuarioBean usu = itU.next();
usuario.load(usu);
}
}
}
O método extract é onde é feita a extração dos dados do banco de dados do Acordeon. Primeiro é aberta uma conexão com o banco de dados, em seguida é executado a query "SELECT * FROM USUARIO" e inserido o resultado desta query em objetos da classe UsuárioBean, sendo que cada objeto é adicionado em um List. Por fim é retornado o List.
No método transform é onde é feita a transformação de dados. O método recebe como parâmetro um inteiro, que vai variar em 0 e 1, caso este valor seja 0 é retornada a String "M", e caso seja 1 é retornada a String "F".
Já o método load é onde é feita a carga dos dados no banco de dados do DW. Ele recebe como parâmetro um objeto da classe UsuarioBean. Primeiro é aberta uma conexão com o banco de dados, em seguida é adicionado no lugar das interrogações de "INSERT INTO USUARIO (ID, CPF,DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) VALUES(?,?,?,?,?,?,?,?)" os atributos do UsuarioBean passado. Por fim é executado o update.
import br.com.acessobd.AcessoBdAcordeon;
import br.com.acessobd.AcessoBdDw;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class UsuarioETL {
PreparedStatement pstm;
ResultSet rs;
String consultaUsuario = "SELECT * FROM USUARIO";
String cadastraUsuario = "INSERT INTO USUARIO (ID, CPF, DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) "
+ "VALUES(?,?,?,?,?,?,?,?)";
public List<UsuarioBean> extract() {
List<UsuarioBean> listUsuario = new ArrayList<UsuarioBean>();
try {
AcessoBdAcordeon mysql = new AcessoBdAcordeon();
pstm = mysql.conectar().prepareStatement(consultaUsuario);
rs = pstm.executeQuery();
UsuarioBean usu;
while (rs.next()) {
usu = new UsuarioBean();
usu.setId(rs.getInt("id"));
usu.setCpf(rs.getString("cpf"));
usu.setDtNasc(rs.getDate("dt_nasc"));
usu.setEmail(rs.getString("email"));
usu.setNomeCompleto(rs.getString("nome_completo"));
usu.setSenha(rs.getString("senha"));
usu.setSexo(rs.getInt("sexo"));
usu.setTelefone(rs.getString("telefone"));
listUsuario.add(usu);
}
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
return listUsuario;
}
public String transform(int sexo) {
if (sexo == 0) {
return "M";
} else {
return "F";
}
}
public void load(UsuarioBean usuario) {
try {
AcessoBdDw mysql = new AcessoBdDw();
pstm = mysql.conectar().prepareStatement(cadastraUsuario);
pstm.setInt(1, usuario.getId());
pstm.setString(2, usuario.getCpf());
pstm.setDate(3, usuario.getDtNasc());
pstm.setString(4, usuario.getEmail());
pstm.setString(5, usuario.getNomeCompleto());
pstm.setString(6, usuario.getSenha());
pstm.setString(7, transform(usuario.getSexo()));
pstm.setString(8, usuario.getTelefone());
pstm.executeUpdate();
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
UsuarioETL usuario = new UsuarioETL();
List<UsuarioBean> listUsuario = usuario.extract();
Iterator<UsuarioBean> itU = listUsuario.iterator();
while(itU.hasNext()){
UsuarioBean usu = itU.next();
usuario.load(usu);
}
}
}
O método extract é onde é feita a extração dos dados do banco de dados do Acordeon. Primeiro é aberta uma conexão com o banco de dados, em seguida é executado a query "SELECT * FROM USUARIO" e inserido o resultado desta query em objetos da classe UsuárioBean, sendo que cada objeto é adicionado em um List. Por fim é retornado o List.
No método transform é onde é feita a transformação de dados. O método recebe como parâmetro um inteiro, que vai variar em 0 e 1, caso este valor seja 0 é retornada a String "M", e caso seja 1 é retornada a String "F".
Já o método load é onde é feita a carga dos dados no banco de dados do DW. Ele recebe como parâmetro um objeto da classe UsuarioBean. Primeiro é aberta uma conexão com o banco de dados, em seguida é adicionado no lugar das interrogações de "INSERT INTO USUARIO (ID, CPF,DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) VALUES(?,?,?,?,?,?,?,?)" os atributos do UsuarioBean passado. Por fim é executado o update.
Nenhum comentário:
Postar um comentário