lunes, 14 de diciembre de 2015

Ejemplo de Java + SQL + Netbeans


 
Ejemplo de Java + SQL + Netbeans
Mediante este blog les mostrare un ejemplo de Java y MySQL bajo la plataforma Netbeans. El propósito de este ejemplo es crear una clase que realmente realiza las acciones básicas (agregar, modificar, eliminar, consultar).
La base de datos que usaremos para este ejemplo es la siguiente:
·         BD: prueba.
·         tabla: usuarios.
·         campos: id(autoinc), nombre, contraseña.
 
Bueno, primero que nada empezaremos con esta demostración que contendrá los métodos de las acciones que vamos a realizar.
import java.sql.*;
import java.util.Hashtable;
 
public class SQLconnection {
private String user;
private String password;
private String db;
private String host;
private String url;
private Connection conn = null;
private Statement stm;
private ResultSet rs;
 
 
public SQLconnection()
 {
this.url = “jdbc:mysql://” + this.host + “/” + this.db;
 }
 
public SQLconnection (String server, String usuario, String contraseña, String bd)
 {
this.user = usuario;
 this.password = contraseña;
this.db = bd;
this.host = server;
this.url = “jdbc:mysql://” + this.host + “/” + this.db;
 }
 
public void connectar()
 {
 try {
 Class.forName(“org.gjt.mm.mysql.Driver”);
conn = DriverManager.getConnection(url, user, password);
 if (conn != null)
 {
System.out.println(“Conexión a base de datos “+url+” … Ok”);
stm = conn.createStatement();
 }
 }
 catch(SQLException ex) {
System.out.println(“Hubo un problema al intentar conectarse con la base de datos “+url);
 }
 catch(ClassNotFoundException ex) {
System.out.println(ex);
 }
 }
 
 
public String getDb() {
 return db;
 }
 
 
public void setDb(String db) {
this.db = db;
 }
 
 
public String getHost() {
 return host;
 }
 
 
public void setHost(String host) {
this.host = host;
 }
  
 
public String getPassword() {
 return password;
 }
 
 
public void setPassword(String password) {
 this.password = password;
 }
 
 
public String getUser() {
 return user;
 }
 
 
public void setUser(String user) {
this.user = user;
 }
 
 
public ResultSet consultar(String tabla) throws SQLException
 {
 rs = stm.executeQuery(“SELECT * FROM ” + tabla);
 return rs;
 }
 
 
public String buscarNombre(String tabla, String nombre) throws SQLException
 {
 String name = null;
 try{
 rs = stm.executeQuery(“SELECT * FROM ” + tabla + ” WHERE nombre = ‘”+ nombre +”‘ LIMIT 1″);
rs.next();
 name = rs.getString(2);
 }catch(SQLException ex){System.out.println(ex);}
 return name;
 }
 
 
 
public void insertar(Hashtable usuario)
 {
 try {
 stm.execute(“INSERT INTO usuarios (nombre, contraseña) VALUES (‘” +usuario.get(“nombre”) + “‘,'” + usuario.get(“contraseña”) + “‘)”);
 } catch (SQLException ex) {
System.out.println(ex);
 }
 }
 
 
public void actualizar(String tabla, Hashtable usuario, String nombre)
 {
 try {
 stm.execute(“UPDATE ” + tabla + ” SET nombre='” + usuario.get(“nombre”) + “‘ WHERE nombre='” + nombre + “‘”);
 } catch (SQLException ex) {
System.out.println(ex);
 }
 }
 
 
public void eliminar(String tabla, String nombre)
 {
 try {
 stm.execute(“DELETE FROM ” + tabla + ” WHERE nombre='” + nombre + “‘”);
 } catch (SQLException ex) {
System.out.println(ex);
 }
 }
 }
 
 
Como podemos observar, esta clase cuenta con sobrecarga de constructores lo cual nos permite conectarnos de 2 maneras distintas a la base de datos. La primera es utilizar el constructor que no recibe ningún parámetro y definirlos mediante los métodos set y getpara después llamar al método conectar. La segunda es enviarle directamente los valores al constructor  y, al igual que en la forma anterior, ejecutar el método conectar, y esta será la forma que usaremos para nuestro ejemplo.
  
Primero que nada vamos a conectarnos a nuestra base de datos y realizaremos unaconsulta de todos los registros:
SQLconnection con = new SQLconnection(“localhost”, “usuario”, “contraseña”, “prueba”);
con.connectar();
 ResultSet rs;
 rs = con.consultar(“usuarios”);
while(rs.next()){
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
 }
 
En esta clase también implementamos una opción que nos permite realizar búsquedaspor medio de nombres(es el campo de la base de datos que elegí para este ejemplo); ha este método le mandamos 2 parámetros, que son la base de datos y el nombre:
System.out.println(con.buscarNombre(“usuarios”, “frago”));
Para insertar un nuevo registro vamos a hacer uso del Hastable para enviarle los valores que queremos agregar:
Hashtable usuario = new Hashtable();
usuario.put(“nombre”, “frago”);
usuario.put(“contraseña”, “xxx”);
con.insertar(usuario);
 
Para eliminar un registro simplemente le ejecutamos el método correspondiente y le pasamos como parametros la tabla y el nomrbe del usuario a eliminar:
con.eliminar(tabla, “frago”);
 
Para actualizar un registro le tenemos que pasar 3 parámetros al método. EL primero es el nombre de la tabla; el segundo es un Hastable en el que se incluya la modificación que se quiere realizar y el tercer es, en este caso, el nombre de la persona a la que se le va realizar la modificación:
Hashtable usuario = new Hashtable();
usuario.put(“nombre”, “frago1”);
con.actualizar(tabla, usuario, “frago”);
 
 
 Ahora les dejo un video que muestra lo expuesto en este posteo, como agregar, modificar, eliminar, consultar datos desde Netbeans hacia una base de datos. 
 
  
Hasta una próxima aventura con Java netbeans .

Conexión Java – MySQL


Conexión Java – MySQL

En este blogs les mostrare como se realiza la conexión de Java y MySQL con la finalidad que aprendamos a trabajar con un motor de base de datos.

Antes de empezar realizaremos lo siguiente.

-Descargar el backup de la base de datos aquí.

-Creamos la base de datos DBVentas

-Importamos el backup a a nuestra base de datos creada DBVentas en nuestro motor de base de datos mediante PhpMyAdmin o cualquier otro interfaz de administración que usen.

-Creamos nuestro proyecto y creamos las clases respectivas.
 
 
 
 
-Descargamos el jar para la conexión. Lo podemos descargar aquí.
-Agregamos el Jar a nuestro proyecto.

 
 
 

 

Habiendo realizado todo esto, ya tenemos preparado nuestro entorno para poder realizar el código respectivo para nuestra conexión.


Código de la Clase "ConexionDB"


 

package ConexionDB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class ConexionDB {
   
    public static Connection GetConnection()
    {
        Connection conexion=null;
   
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            String servidor = "jdbc:mysql://localhost/DBVentas";
            String usuarioDB="root";
            String passwordDB="030191";
            conexion= DriverManager.getConnection(servidor,usuarioDB,passwordDB);
        }
        catch(ClassNotFoundException ex)
        {
            JOptionPane.showMessageDialog(null, ex, "Error1 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
            conexion=null;
        }
        catch(SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex, "Error2 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
            conexion=null;
        }
        catch(Exception ex)
        {
            JOptionPane.showMessageDialog(null, ex, "Error3 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
            conexion=null;
        }
        finally
        {
            return conexion;
        }
    }
}


 
 

Esta clase es la que realizará la conexión con la base de datos, como se puede ver tenemos un método que retorna un tipo Connection el cual se recuperará desde cualquier clase que desee acceder a este método. De esta forma tenemos nuestra clase conexión accesible desde cualquier capa que podamos crear sin la necesidad de programarlo más de una vez. Recuerden cambiar el usuario y contraseña por la qye se tiene en su servidor de base de datos.

 

Código de la clase "Main"

 
 

Para este caso que es un ejemplo de sólo la conexión con la Base de Datos, realizamos un simple main donde hacemos una llamada a la clase "ConexionDB" y recuperamos el valor que retorna y si es diferente a "null" eso indica que la conexión se realizó correctamente. 

Tener en cuenta que se debe manejar de una forma adecuada las excepciones que podría darse en la conexión, como se puede ver se maneja varios tipos de excepciones en la clase "ConexionDB". 

Compilación del programa 

Realizado todo esto el programa debería compilar realizando la conexión y lanzando un mensaje indicando que se realizó la conexión correctamente o un mensaje donde indique si surgió alguna excepción. 

Si todo se realizó correctamente, el software debería correr de la siguiente forma.





 

Como se puede ver, esto indica que la conexión se realizó correctamente. 
 
Ahora les dejo un vídeo, el cual demuestra lo expuesto en este posteo, espero que este material les sea de gran ayuda.   Favor pincha aquí
 
 
 
hasta una próxima aventura.

 

Declaración de una clase y definición de objetos


Declaración de una clase y definición de  objetos 

La programación orientada a objetos se basa en la programación de clases; a diferencia de la programación estructurada, que está centrada en las funciones.
Una clase es un molde del que luego se pueden crear múltiples objetos, con similares características.
Una clase es una plantilla (molde), que define atributos (variables) y métodos (funciones).
La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones.
Debemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto propiamente dicho.

La estructura de una clase es:

Ejemplo de un ejercicio, en referencia de lo ya expuesto:

Confeccionar una clase que permita cargar el nombre y la edad de una persona, mostrar los datos cargados e imprimir un mensaje que diga si es mayor de edad ( edad >=18).


El nombre de la clase debe hacer referencia al concepto (en este caso la hemos llamado Persona):



                               
                                                                                                                                                                                                                                                                                          

Los atributos los definimos dentro de la clase pero fuera de la main:                                                                                                  
                                                                                                           
Veremos más adelante que un atributo es normalmente definido con la cláusula private (con esto no permitimos el acceso al atributo desde otras clases).

A los atributos se tiene acceso desde cualquier función o método de la clase (salvo la main)

Luego de definir los atributos de la clase debemos declarar los métodos o funciones de la clase. La sintaxis es parecida a la main (sin la cláusula static):

 

 
En el método inicializar (que será el primero que deberemos llamar desde la main) creamos el objeto de la clase Scanner y cargamos por teclado los atributos nombre y edad. Como podemos ver el método inicializar puede hacer acceso a los tres atributos de la clase Persona.

 El segundo método tiene por objetivo imprimir el contenido de los atributos nombre y edad (los datos de los atributos se cargaron al ejecutarse previamente el método inicializar:

 




El tercer método tiene por objetivo mostrar un mensaje si la persona es mayor o no de edad:

 




Por último en la main declaramos un objeto de la clase Persona y llamamos a los métodos en un orden adecuado:

 




 

Persona persona1; //Declaración del objeto

 persona1=new Persona(); //Creación del objeto

 persona1.inicializar(); //Llamada de un método

 







Ahora les dejo un link, el cual refleja lo explicado en este posteo. favor para ver el video, pincha aquí

 

Crear una Clase en NetBeans


Crear una Clase en NetBeans

 La finalidad de este posteo, es enseñar como se crea una clase en netbeans, que es lo mas básico a aprender para sumergirnos en el gran mundo de Java.



PASO 1

A continuación vamos a crear nuestra CLASE PERSONA, en nuestro Proyecto MICodigo y luego hacer CLIC DERECHO en el paquete micodigo (paquete = carpeta), clic en la opción New, Clic en Java Class.

 
Aparece la ventana “New java Class”, en la cual se debe escribir el Nombre de la clase,OBSERVACION: el nombre de la clase DEBE INICIAR CON MAYUSCULA, Ej. Persona.Luego hacer clic en el botón “Finish”.
 
PASO 2
A continuación se muestra la CLASE Persona.
 
 
 
Luego procedemos a declarar los ATRIBUTOS de la clase Persona

 
 
 
A continuación vamos a generar los METODOS SET y GET de la clase Persona. Lo realizaremos de manera automática, el mismo netbeans los creara.


 
1.    Si damos clic en Contructor…: Creamos automáticamente un constructor sin parámetro o con parámetros.
2.    Si damos clic en Getter…: Creamos automáticamente los métodos Get de cada atributo de la clase Persona.
3.    Si damos clic en Setter…: Creamos automáticamente los métodos Set de cada atributo de la clase Persona.
4.    Si damos clic en Getter and Setter…: Creamos automáticamente los métodos Get y Set de cada atributo de la clase Persona.




 
Ahora les dejo un link, que muestra en vídeo lo explicado en este posteo. Favor pincha aquí para ver el video
 
 
 
Esperando que el material mostrado les haya gustado, hasta una próxima aventura con java.