Está en la página 1de 7

Ejemplo de CRUD Java

Posted on 16 febrero, 2015 by netosolis in Java, MySQL, Programacion | 0 Comments

Ejemplo de un CRUD Java, mtodos de insertar, modificar, eliminar,select a una base de


datos
Este ejemplo es un sencillo ejemplo en modo grfico de un pequeo programa que permite dar
de alta, modificar, eliminar, y hacer consultas a una base de datos, sobre nombres de
pelculas, claro se puede adaptar a cualquier cosa.

La interfaz grfica del ejemplo se muestra en las siguientes imgenes.

Como vemos en esta imgenes la interfaz se basa en pestaas, donde en cada una se realizan
diferentes acciones sobre la base de datos. La base de datos que se usa es MySQL. La conexin
se realizo siguiendo los pasos de este tutorial CONECTAR JAVA Y MYSQL, y si no sabes hacer
consultas puedes ver CONSULTAS A LA BASE DE DATOS CON JAVA Y MYSQL.
Primero que nada la necesitamos una base de datos en MySQL la cual contiene la siguiente
tabla
CREATE TABLE IF NOT EXISTS `peliculas` (
`id` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`nombre` VARCHAR(200) NOT NULL,
`genero` VARCHAR(200) NOT NULL,
`anio` SMALLINT(6) NOT NULL,
`actor` VARCHAR(200) NOT NULL,
`pais` VARCHAR(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

El nombre de la base de datos puede ser cualquiera y se tiene que modificar en el siguiente
codigo, el cual pertenece al archivo Conexion.Java
package netosolis.com;
import java.sql.Connection;
import java.sql.DriverManager;
/**
*
* @author netosolis.com
*/
public class Conexion {
//Configuracion de los datos de la BD
private String usuario = "root";
private String pass = "";
private String host = "localhost";
private String nombre_BD = "crudjava";
private Connection con = null;
public Conexion() {
}
//Metodo que se devuelve la conexion o null si hubo un error
public Connection getConexionMYSQL(){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance( );
String servidor = "jdbc:mysql://"+host+"/"+nombre_BD;
con = DriverManager.getConnection(servidor,usuario,pass);
return con;
}catch(Exception e){
e.printStackTrace();
return con;
}
}
}

Esta clase sirve para conectar Java con MySQL, se tiene que configurar el host, usuario,
password y nombre de la base de datos que contiene la tabla creada anteriormente la cual se
llama peliculas.
El cdigo del CRUD Java que nos sirve para hacer las operaciones sobre la BD es el siguiente
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package netosolis.com;
import java.sql.Connection;
import java.sql.ResultSet;

import java.sql.Statement;
import java.util.LinkedList;
import javax.swing.JOptionPane;
/**
*
* @author netosolis.com
*/
public class CRUD {
private Conexion conexion = new Conexion();
private Connection con;
private Statement st;
private ResultSet rs;
public CRUD() {
try{
if((con = conexion.getConexionMYSQL())==null){
JOptionPane.showMessageDialog(null,"Error con la conexion a la BD");
return;
}
st = con.createStatement();
}catch(Exception e){
e.printStackTrace();
}
}
//Inserta una nueva pelicula en la Base de Datos
public boolean insert(String nombre,String genero,int anio,String actor,String
pais){
try {
String query = "INSERT INTO peliculas
VALUES(NULL,'"+nombre+"','"+genero+"','"+anio+"','"+actor+"','"+pais+"');";
st.executeUpdate(query);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
//Devuelve el resultset con los datos de peliculas
public ResultSet selectXtodas(){
try {
String query = "SELECT * FROM peliculas";
rs = st.executeQuery(query);
return rs;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//Devuelve el resultset con los datos de peliculas con select por genero
public ResultSet selectXgenero(String genero){

try {
String query = "SELECT * FROM peliculas WHERE genero = '"+genero+"'";
rs = st.executeQuery(query);
return rs;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//Devuelve el resultset con los datos de peliculas con select por pais
public ResultSet selectXpais(String pais){
try {
String query = "SELECT * FROM peliculas WHERE pais = '"+pais+"'";
rs = st.executeQuery(query);
return rs;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//Elimina la pelicula
public boolean delete(int id){
try {
String query = "DELETE FROM peliculas WHERE id = '"+id+"'";
st.executeUpdate(query);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
//Actualiza los datos de la pelicula
public boolean update(int id,String nombre,String genero,int anio,String
actor,String pais){
try {
String query = "UPDATE peliculas SET"
+ " nombre = '"+nombre+"',"
+ " genero = '"+genero+"',"
+ " anio = '"+anio+"',"
+ " actor = '"+actor+"',"
+ " pais = '"+pais+"' WHERE id = '"+id+"';";
st.executeUpdate(query);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}