Este documento presenta un laboratorio sobre aplicaciones Java utilizando el paradigma de programación orientada a objetos. Se crean clases Persona y Cliente, y una interfaz gráfica para realizar operaciones CRUD sobre datos de clientes almacenados en una base de datos MySQL. El objetivo es que los estudiantes adquieran los conceptos básicos de POO y aprendan a desarrollar aplicaciones Java para el manejo de datos.
1. UNIVERSIDAD ISRAEL
CIENCIAS DE LA INGENIERÍA
CARRERA DE SISTEMAS DE INFORMACIÓN
PROGRAMACIÓN ORIENTADA A OBJETOS
SEMESTRE 2021 A
LABORATORIO S6
TEMA: Aplicaciones Java (CRUD)
PROFESOR: Mg. Luis Fernando Aguas Bucheli
QUITO, 2021
2. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
1. TEMA: Aplicaciones Java (CRUD)
2. OBJETIVOS:
• Adquirir los conceptos básicos relacionados con la POO
• Reconocer las características de la POO
3. OBJETIVOS DE DESARROLLO SOSTENIBLE:
4. INTRODUCCION:
5. DESARROLLO:
• Ingresamos a Netbeans
3. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Creamos un nuevo proyecto:
• Colocamos como nombre
4. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Teniendo:
• Borramos la clase que se crea por defecto
5. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Creamos una clase:
• Usamos el siguiente código
public class Persona {
private String cedula;
private String nombre;
6. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
public Persona(String cedula,String nombre) {
this.setCedula(cedula);
this.setNombre(nombre);
}
public String getCedula(){return cedula; }
public String getNombre(){return nombre;}
public void setCedula(String cedula) {
this.cedula = cedula;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}
• Teniendo:
• Creamos una clase:
7. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Usamos el siguiente código
public class Cliente extends Persona {
public int edad;
private String telfFijo;
private String telfMovil;
public String direccion;
public String email;
/** Creates a new instance of Cliente */
public Cliente(String cedula,String nombre,int edad,String direccion,String telfFijo,String
telfMovil,String email) {
super(cedula,nombre);
this.setEdad(edad);
this.setTelfFijo(telfFijo);
this.setTelfMovil(telfMovil);
this.setDireccion(direccion);
this.setEmail(email);
}
public String VerDatos(){
8. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
return "Cédula:t"
+super.getCedula()+"nNombre:t"+super.getNombre()+"nEdad:t"+edad+"nDirección:t"+di
reccion+"nTelf. Fijo:t"+telfFijo+"nTelf. Movil:t"+telfMovil+"nemail:t"+email;
}
public int getEdad(){return edad;}
public String getDireccion(){return direccion; }
public String getEmail(){return email; }
public void setEdad(int edad) {
this.edad = edad;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelfFijo() {
return telfFijo;
}
public void setTelfFijo(String telfFijo) {
this.telfFijo = telfFijo;
}
public String getTelfMovil() {
return telfMovil;
}
public void setTelfMovil(String telfMovil) {
this.telfMovil = telfMovil;
}
}
• Teniendo:
9. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Creamos un JFrame
• Teniendo:
10. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Luego creamos la siguiente interfaz
Creamos las siguientes variables:
int band =0;
public String driver = "com.mysql.cj.jdbc.Driver";
// Nombre de la base de datos
public String database = "clientes";
// Host
public String hostname = "localhost";
11. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
// Puerto
public String port = "3306";
// Ruta de nuestra base de datos (desactivamos el uso de SSL con "?useSSL=false")
public String url = "jdbc:mysql://" + hostname + ":" + port + "/" + database + "?useSSL=false";
//public String url = "jdbc:mysql://" + hostname + ":/" + database;
// Nombre de usuario
public String username = "root";
// Clave de usuario
public String password = "";
Teniendo
Damos clic en librerías
12. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Añadimos un jar
13. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Teniendo
14. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Link jar MySql:
https://mega.nz/file/KMcxzQzJ#xDnqrvF4fCAsEqr0rK8geGNVWyXJ1M5SbQzHBYkZFF0
Damos clic en open
Seleccionamos el evento key pressed
15. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Colocamos el siguiente código:
char[] aux=P1.getText().toCharArray();
if(evt.getKeyCode()==10){
if(aux.length==10){
try{
Class.forName(driver);
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
try{
System.out.println(url);
Connection conexion=DriverManager.getConnection(url, username, password);
Statement estatuto=conexion.createStatement();
ResultSet rs=estatuto.executeQuery("select * from DatosClientes where
Cedula='"+P1.getText()+"'");
while(rs.next()){
band=1;
Object[] t=new Object[7];
for(int i=0;i<t.length;i++)
t[i]=rs.getObject(i+1);
P3.setText(t[1]+"");
P4.setText(t[2]+"");
P5.setText(t[3]+"");
P6.setText(t[4]+"");
P7.setText(t[5]+"");
P8.setText(t[6]+"");
16. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
}
if(band==0){
est.setText("Nuevo Cliente - Ingresar Datos");
P3.setEditable(true);
P4.setEditable(true);
P5.setEditable(true);
P6.setEditable(true);
P7.setEditable(true);
P8.setEditable(true);
P3.setText("");
P4.setText("");
P5.setText("");
P6.setText("");
P7.setText("");
P8.setText("");
Guardar.setEnabled(true);
Editar.setEnabled(false);
}else{
est.setText("");
P3.setEditable(false);
P4.setEditable(false);
P5.setEditable(false);
P6.setEditable(false);
P7.setEditable(false);
P8.setEditable(false);
Editar.setEnabled(true);
Guardar.setEnabled(false);
}
estatuto.close();
conexion.close();
}catch(Exception e){System.out.println(e.getMessage());}
}else
javax.swing.JOptionPane.showMessageDialog(this,"¡Cédula Incorrecta!","Error",0);
}
Teniendo
17. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Damos doble clic en este botón
Colocamos el siguiente código
P3.setEditable(true);
P4.setEditable(true);
P5.setEditable(true);
P6.setEditable(true);
P7.setEditable(true);
P8.setEditable(true);
Guardar.setEnabled(true);
18. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Editar.setEnabled(false);
Teniendo:
Damos doble clic en este botón
Colocamos el siguiente código:
try{
Class.forName(driver);
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
19. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
}
try{
Connection conexion=DriverManager.getConnection(url, username, password);
Statement estatuto=conexion.createStatement();
if(!est.getText().equals("")){
String sql="insert into DatosClientes
values('"+P1.getText()+"','"+P3.getText()+"','"+P4.getText()+"','"+P5.getText()+"','"+P6.getText()
+"','"+P7.getText()+"','"+P8.getText()+"')";
System.out.println(sql);
estatuto.executeUpdate(sql);
}else{
estatuto.executeUpdate("update DatosClientes set Nombre='"+P3.getText()+"' " +
",Edad='"+P4.getText() +"' " +
",Dirección='"+P5.getText() +"' " +
", TelefonoFijo='"+P6.getText() +"' " +
",TelefonoMovil='"+P7.getText() +"' " +
",CorreoElectronico='"+P8.getText() +"' " +
"where Cedula='"+P1.getText()+"'");
}
ResultSet rs=estatuto.executeQuery("select * from DatosClientes where
Cedula='"+P1.getText()+"'");
int band =0;
while(rs.next()){
band=1;
Object[] t=new Object[7];
for(int i=0;i<t.length;i++)
t[i]=rs.getObject(i+1);
P3.setText(t[1]+"");
P4.setText(t[2]+"");
P5.setText(t[3]+"");
P6.setText(t[4]+"");
P7.setText(t[5]+"");
P8.setText(t[6]+"");
}
if(band==0){
est.setText("Error - Cliente no Ingresado");
P3.setEditable(true);
P4.setEditable(true);
P5.setEditable(true);
P6.setEditable(true);
P7.setEditable(true);
P8.setEditable(true);
P3.setText("");
P4.setText("");
P5.setText("");
P6.setText("");
20. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
P7.setText("");
P8.setText("");
Guardar.setEnabled(true);
Editar.setEnabled(false);
}else{
est.setText("");
P3.setEditable(false);
P4.setEditable(false);
P5.setEditable(false);
P6.setEditable(false);
P7.setEditable(false);
P8.setEditable(false);
Editar.setEnabled(true);
Guardar.setEnabled(false);
}
estatuto.close();
conexion.close();
}catch(Exception e){System.out.println(e.getMessage());}
Teniendo:
Subimos el servicio de la base
21. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Verificamos
Link script base MYSQL:
https://mega.nz/file/fJF3RKyS#Fmmoofbg-kyl8Cwel2eX5b4maFPL62xVriMMjWAjdMQ
Link XAMPP: https://www.apachefriends.org/es/index.html
Compilamos y ejecutamos
22. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
23. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
6. BIBLIOGRAFIA:
24. Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información