460 likes | 644 Views
Universidad Nacional Politécnica del Guarico. Ing. Miguel Jaime IBM, ACE Certificación. Objetivos. Implementar programación orientada a objetos Conocer el manejo de flujo de datos(stream) Desarrollar y diseñar interfaz de usuario mediante codigo java
E N D
Universidad Nacional Politécnica del Guarico Ing. Miguel Jaime IBM, ACE Certificación
Objetivos • Implementar programación orientada a objetos • Conocer el manejo de flujo de datos(stream) • Desarrollar y diseñar interfaz de usuario mediante codigo java • Implementar manejo de eventos con la clase ActionListener • Realizar instrucciones (operacionales,condicionales,ciclos) • Realizar conexión con bases de datos MySQL para administrar datos de manera eficiente
Caracteristicas de java • Multiplataformidad • Estructura OOP • Portabilidad • Robustez • Seguridad
JAVA APLICACIONES JAVA JMV APLICACIONES S.O. WINDOWS APLICACIONES JAVA JMV APLICACIONES S.O. GNU/LINUX
JAVA Archivo de diseño Archivo de byte Code javac .JAVA COMPILADOR .CLASS JMV SALIDA STANDARD Java Virtual Machine
Laboratorio Practico • Hola Mundo
Tipos de Datos • Int • Float • String • Boolean • Double • Object • array
Clases • Permite la reutilización de código • Agiliza el tiempo en productividad • Proporciona portabilidad • Crea modularidad en recursos y disponibidad en diferentes aplicaciones
OOP • Clase • Métodos • Atributos
OOP Métodos acelera frena cruza alumbra Atributos Color Modelo Año Medidas Marca Velocidad
clase public class Main { //*******Atributos ********* String modelo="b75"; String marca="audi"; String color="plata"; float velocidad=220; // ****Metodos******* public String Acelera(){ return "Acelera"; } public int frena(){ return 20; } public boolean cruza(){ return true; } }
Clase con Constructor public class Main { //*******Atributos ********* String modelo; String marca; String color; float velocidad; //****constructor***** public Main() { modelo="b75"; marca="audi"; color="plata"; velocidad=220; } // ******Metodos******* public String Acelera(){ return "Acelera"; } }
Laboratorio Practico • Aprender a determinar la estructura de una clase y sus componentes
Condicionales • If ( condición){ instrucción ..n; } • If (condición){ instrucción x; }else{ instrucción x; } • Switch( condición){ case valor: instrucción..1; break; case valor: instrucción..n; break; default: instrucción x; break; }
Ciclos • While(condicion){ instrucción x; } • do{ instrucción x; } While(condicion)
ciclos • For(i=0; i<5; i++){ instrucción x; }
contador • cont=cont +1; • cont++;
acumulador • acum=acum+valor;
Herencia class Padre { String nombre="Carlos"; String apellido="Jaramillo"; int edad=40; float estatura=1.48f; boolean bigote=true; final public void saludar(){ System.out.println("Epale.."); } public void despedirse(){ System.out.println("Hasta luego"); } }
Herencia public class Hijo extends Padre{ String nombre="luisito"; int edad=14; public void mostrar(){ System.out.println(this.nombre); System.out.println(super.apellido); System.out.println(this.edad); if (super.bigote==true){ System.out.println("Tengo Bigote"); } super.saludar(); } }
Casting o conversiones • Integer.ParseInt(); Convierte un valor(string o real) a Entero • Float.ParseFloat(); Convierte un valor(string o entero) a Real • String.Valueof() Convierte un valor(entero o real) a Cadena
Evaluación 1 • Objetivos (clases) • Manejo instaciacion de clases • Aplicación de Herencia entre clases • Laboratorio Evaluado
IDE Netbeans • Creacion de Proyectos • Anadir de Clases • Manejo del entorno de herramientas • Visual Class • Implementacion de objetos javax.Swing
ActionListener • import java.awt.event.ActionEvent; • import java.awt.event.ActionListener • public class pantalla extends javax.swing.JFrame implements ActionListener{ • } • this.jButton1.addActionListener(this); • public void actionPerformed(ActionEvent e) { • }
Implementación manejo de eventos API Java.awt.event Importación de paquetes implements ActionListener Interface para manejo de eventos addActionListener Se establece comunicación con el objeto actionPerformed Método abstracto perteneciente a la interface actionlistener
Implementación manejo de eventos Interface ActionListener Instrucción actionPerformed Activa Aceptar Realiza Conexión (addActionListener)
JDBC • Se añade el Driver de java respectivo para el servidor de Base de datos al proyecto • Mysql, PostGress, ODBC, Oracle, etc. • Se instancia un objeto Connection • Se cargar el driver añadido con el conexiónString respectivo
Conexión JDBC public class conexion { Connection conex; public conexion() { try { Class.forName("com.mysql.jdbc.Driver"); conex=DriverManager.getConnection("jdbc:mysql://localhost/base","root","123"); } catch (SQLException ex) { ex.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } } }
PreparedStatement Se instancia la clase que posee la conexion conexión cn=new conexión() Se define la clausula sql con una sentencia preparada PreparedStatement ps=null; ps=cn.conex.prepareStatement("INSERT INTO agenda (nombre, apellido, telefono)VALUES(?,?,?)");
PreparedStatement Cuando se desee indexar en la BD se utiliza imt.setString(1,nom); imt.setString(2,apel); imt.setString(3,telf); imt.execute(); imt.close(); Numero de ? Variable o Valor Ejecución
Parámetros de Indexación imt.setString() para campos cadena imt.setFloat() para campos reales imt.setInt() para campos enteros imt.setDouble() para campos reales grandes
Consulta con PreparedStatment • Definir PreparedStatment • Crear un ResultSet
ResultSet • Tabla temporal generada con un consulta especifica • De una consulta ("SELECT * FROM agenda WHERE apellido= ‘perez’“ • Se genera este resulset: 1er get 2do get 3er get
Recibir parametros del ResultSet while(rs.next()){ System.out.println("Apellido: "+ rs.getString(2)); System.out.println(“Telefono: "+ rs.getString(3)); }
Recibir parametros del ResultSet • rs.getString(); para campos cadena • rs.getFloat(); para campos reales • rs.getInt(); para campos enteros • rs.getDouble(); para campos reales grandes
Consulta con PreparedStatment PreparedStatement smt; ResultSet rs; smt=cn.conex.prepareStatement("SELECT * FROM agenda WHERE nombre = ?"); smt.setString(1,nom); rs=smt.executeQuery(); while(rs.next()){ System.out.println("Apellido: "+ rs.getString(2)); System.out.println(“Telefono: "+ rs.getString(3)); }
CreateStatement Se utilizan para sentencias fijas o que no reciben parámetros Ejemplo: Statement smt; ResultSet rs; conexion con=new conexion(); smt=(Statement) con.conn.createStatement(); rs=(ResultSet) smt.executeQuery("select * from producto"); while(rs.next()){ String descripcion=rs.getString(2); String precio=String.valueOf(rs.getString(4)); }
Cargar un JCombo Box Codigo ejemplo: public void cargar(){ try { Statement smt; ResultSet rs; conexion con=new conexion(); smt=(Statement) con.conn.createStatement(); rs=(ResultSet) smt.executeQuery("select * from producto"); while(rs.next()){ String descripcion=rs.getString(2); this.jComboBox1.addItem(descripcion); } } catch (SQLException ex) { ex.printStackTrace(); } }
Cargar el JTable a travez de un vector Statement smt; ResultSet rs; Vector items=new Vector(); conexion con=new conexion(); smt=(Statement) con.conn.createStatement(); rs=(ResultSet) smt.executeQuery("select * from producto"); while(rs.next()){ String codigo=rs.getString(1); String descripcion=rs.getString(2); Vector item=new Vector(); item.addElement(codigo); item.addElement(descripcion); items.addElement(item); } Vector nombres=new Vector(3); nombres.addElement("Codigo"); nombres.addElement("Descripcion"); DefaultTableModel model=new DefaultTableModel(items,nombres); tabla.setModel(model);