0% encontró este documento útil (0 votos)
44 vistas5 páginas

Dao Cliente

Este documento describe una clase DaoCliente que contiene métodos para realizar operaciones CRUD (crear, leer, actualizar y eliminar) en una tabla de clientes en una base de datos. Los métodos incluyen insertar(), actualizar(), eliminar(), buscarxCodigo(), buscar_nombre_apellido() y buscarxApellido(). Los métodos usan sentencias SQL preparadas y objetos ResultSet para interactuar con la base de datos.

Cargado por

oscar caballero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas5 páginas

Dao Cliente

Este documento describe una clase DaoCliente que contiene métodos para realizar operaciones CRUD (crear, leer, actualizar y eliminar) en una tabla de clientes en una base de datos. Los métodos incluyen insertar(), actualizar(), eliminar(), buscarxCodigo(), buscar_nombre_apellido() y buscarxApellido(). Los métodos usan sentencias SQL preparadas y objetos ResultSet para interactuar con la base de datos.

Cargado por

oscar caballero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

package packDeposito.

packDao;
/*
Clase hace las sentencias
insert , update, delete , select
*/

import java.sql.*;
import java.util.*; // Vector
import packDeposito.packBean.*;
import packDeposito.packUtilitarios.FechaBean;
// clase que transforma una fecha de String a java.sql.Date

public class DaoCliente {

/** Creates a new instance of DaoCliente */


public DaoCliente() {
}
public int insertar ( BeanCliente x, Connection conn)
throws SQLException
{
// query insert
// insert into clientes values ("1", "ana",
"perez", ,,,,, ) ;

String sql ="insert into clientes values (?,?,?,?,?,?,?,?,?,?)


";
System.out.println("sql:"+ sql);
//crear un Preparedstatement en funcion a la conexion "conn"
PreparedStatement p = conn.prepareStatement(sql);
//sustituir los ? del query
p.setString(1, x.getCodigocliente());
p.setString(2,x.getNombres());
p.setString(3,x.getApellidos());
p.setString(4,x.getDireccion());
p.setString(5, x.getTelefono());
p.setString(6,x.getCorreo());
FechaBean f1 = new FechaBean();
FechaBean f2 = new FechaBean();
FechaBean f3 = new FechaBean();
f1.setFecha(x.getFnacimiento());
f2.setFecha(x.getFregistro());
p.setDate(7,f1.getSQLDate()); // dd/MM/yyyy
p.setDate(8,f2.getSQLDate());
p.setString(9, x.getUsertrx());
p.setTimestamp(10, f3.getTimestamp()); // dd/MM/yyy hh:mm:ss
//ejecutar el query
int i =0;
i = p.executeUpdate();
return i;
}

/*Metodo que actualiza todos los campos de la tabla menos el campo


codigoCliente.
*/
public int actualizar ( BeanCliente x, Connection c)
throws SQLException
{
// query update
// update clientes set campo = valor, campo= valor...
where codigocliente= valor;

String sql =" update clientes set nombres =?, apellidos=?,


direccion=?, "+
" telefono=?, correo=?, fnacimiento=?, fregistro=?,
usertrx=?, fechatrx=? " +
" where codigocliente =? ";
System.out.println("sql:"+ sql);
//crear un Preparedstatement
PreparedStatement p = c.prepareStatement(sql);
//sustituir los ? del query, el primer ? es para el nombre y
el ultimo es para el codigo.

p.setString(1,x.getNombres());
p.setString(2,x.getApellidos());
p.setString(3,x.getDireccion());
p.setString(4, x.getTelefono());
p.setString(5,x.getCorreo());
FechaBean f1 = new FechaBean();
FechaBean f2 = new FechaBean();
FechaBean f3 = new FechaBean();
f1.setFecha(x.getFnacimiento());
f2.setFecha(x.getFregistro());
p.setDate(6,f1.getSQLDate()); // dd/MM/yyyy
p.setDate(7,f2.getSQLDate());
p.setString(8, x.getUsertrx());
p.setTimestamp(9, f3.getTimestamp()); // dd/MM/yyy hh:mm:ss
p.setString(10, x.getCodigocliente());
//ejecutar el query para que se realice la operacion en la
tabla.
int i =0;
i = p.executeUpdate();
return i;
}

/*Metodo que elimina un registro de la tabla de clientes, elimina


un solo registro.
*/
public int eliminar (String codigo , Connection c)
throws SQLException
{
// query delete
// delete from clientes where codigocliente= codigo;

String sql =" delete from clientes where codigocliente =? ";


System.out.println("sql:"+ sql);
//crear un Preparedstatement
PreparedStatement p = c.prepareStatement(sql);
//sustituir el ? por un valor , en este caso será por el
codigo.
p.setString(1,codigo);
//ejecutar el query para que se realice la operacion en la
tabla de la base de datos
int i =0;
i = p.executeUpdate();
return i;
}

/*Metodo que retorna un registro de la tabla


*/
public BeanCliente buscarxCodigo(String codigo , Connection c)
throws SQLException
{
BeanCliente b = new BeanCliente();
// query select
// select * from clientes where codigocliente= codigo;
// esta sentencia retornara a lo mas un registro, puesto que
la busqueda es por llave primaria.

String sql =" select * from clientes where codigocliente =?


";
System.out.println("sql:"+ sql);
//crear un Preparedstatement
PreparedStatement p = c.prepareStatement(sql);
//sustituir el ? por un valor , en este caso será por el
codigo.
p.setString(1,codigo);
/*cuando se trata de sentencias Select, el metodo que se
usa es executeQuery()
el cual retorna un objeto llamado ResultSet.
Lo que debemos hacer es recuperar los datos del Resultset
y asignarlos al objeto con el cual estemos trabajando.
Para recorrer al ResultSet se tiene en cuenta dos cosas:
1) si a lo mas se espera que nos retorne un registro?, se
usa un if
2) Si se espera que retorne mas de un registro?, se usa
while

en la recuperacion de los datos, podemos usar


rs.getString(), rs.getInt(), rs.getDouble(), etc...
dependiendo del tipo de dato en la tabla . Aunque todos
los campos los podemos recuperar como Strings.
*En este caso, los metodos set del Bean son los que nos
ayudan a determinar que tipo de dato debemos usar.
*/
ResultSet rs = p.executeQuery();
if ( rs.next()){
b.setCodigocliente( rs.getString(1));
b.setNombres(rs.getString(2));
b.setApellidos(rs.getString(3));
b.setDireccion(rs.getString(4));
b.setTelefono(rs.getString(5));
b.setCorreo(rs.getString(6));
b.setFnacimiento(rs.getString(7));
b.setFregistro(rs.getString(8));
b.setUsertrx(rs.getString(9));
}
return b;
}

//metodo que retorna el nombre y apellido de un cliente


public BeanCliente buscar_nombre_apellido(String codigo ,
Connection c)
throws SQLException
{
BeanCliente b = new BeanCliente();
// select nombres,apellidos from clientes where
codigocliente= codigo;
String sql =" select nombres, apellidos from clientes where
codigocliente =? ";
System.out.println("sql:"+ sql);
//crear un Preparedstatement
PreparedStatement p = c.prepareStatement(sql);
//sustituir el ? por un valor , en este caso será por el
codigo.
p.setString(1,codigo);
ResultSet rs = p.executeQuery();
if ( rs.next()){
b.setNombres(rs.getString(1));
b.setApellidos(rs.getString("apellidos"));
}
return b;
}

/*Metodo que retorna mas de un registro de la tabla de clientes


que cumpla con la condicion.
por ejemplo de quiero recuerpar todos los registros de los
clientes que tengasn como apellido ya
sea paterno o materno algo como PEREZ
*/
public Vector buscarxApellido( String ape, Connection c)
throws SQLException
{
Vector registros= new Vector();
/*en el objeto registros que es del tipo Vector, se almacenaran
objetos del tipo BeanCliente con la informacion recuperada.
Se creará un objeto del tipo BeanCliente por cada registro
que se encuentre.
Es por eso que la sentencia BeanCliente b = new
BeanCliente(); está dentro del bloque while.
*/
// query select
// select * from clientes where codigocliente= codigo;
"ABCPEREZ ABDCCC"
// esta sentencia retornara a lo mas un registro, puesto que
la busqueda es por llave primaria.

String sql =" select * from clientes where apellidos like


'%"+ape+"%' ";
System.out.println("sql:"+ sql);
//crear un Preparedstatement
PreparedStatement p = c.prepareStatement(sql);
// No hay ? para sustituir.
/*cuando se trata de sentencias Select, el metodo que se
usa es executeQuery()
el cual retorna un objeto llamado ResultSet.
Lo que debeos hacer es recuperar los datos del Resultset
y asignarlos al objeto con el cual estemos trabajando.
Para recorrer al ResultSet se tiene en cuenta dos cosas:
1) si a lo mas se espera que nos retorne un registro?, se
usa un if
2) Si se espera que retorne mas de un registro?, se usa
while

en la recuperacion de los datos, podemos usar


rs.getString(), rs.getInt(), rs.getDouble(), etc...
dependiendo del tipo de dato en la tabla . Aunque todos
los campos los podemos recuperar como Strings.
*En este caso, los metodos set del Bean son los que nos
ayudan a determinar que tipo de dato debemos usar.
*/
ResultSet rs = p.executeQuery();
while ( rs.next()){
BeanCliente b = new BeanCliente();
b.setCodigocliente( rs.getString(1));
b.setNombres(rs.getString(2));
b.setApellidos(rs.getString(3));
b.setDireccion(rs.getString(4));
b.setTelefono(rs.getString(5));
b.setCorreo(rs.getString(6));
b.setFnacimiento(rs.getString(7));
b.setFregistro(rs.getString(8));
b.setUsertrx(rs.getString(9));
registros.add(b);
}
return registros;
}

También podría gustarte