Category Archives: Java

  • 0

Crud (create, read, update, delete) Java con Jdbc

En este post vamos a ver lo que es un CRUD ( Create, Read, Update, Delete) y empezaremos a crear nuestra base de datos:


CREATE TABLE usuario (
id_usuario int(11) NOT NULL AUTO_INCREMENT,
nombre varchar(100) NOT NULL,
apellido_paterno varchar(100) NOT NULL,
apellido_materno varchar(100) NOT NULL,
edad int(11) NOT NULL,
username varchar(100) NOT NULL,
password varchar(300) NOT NULL,
PRIMARY KEY (id_usuario)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

Despues tendremos nuestra clase conexión hacia la base de datos y nos quedara de la siguiente forma:

package com.mx.crudjdbc.config;

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

public class ConnectionDataBase {

public static Connection conexion = null;

public static Connection getConexion() {
try {
conexion = null;
//cargar nuestro driver
Class.forName(“com.mysql.jdbc.Driver”);
conexion =DriverManager.getConnection(“jdbc:mysql://localhost/nombreBase”,”root”,”password”);
System.out.println(“conexion establecida”);
} catch (ClassNotFoundException | SQLException e) {
System.out.println(“error de conexion”);
JOptionPane.showMessageDialog(null, “error de conexion “+e);
}

return conexion;
}
}

Lo siguiente es crear un archivo java con el nombre de la tabla de la base de datos, el cual se llamara UsuarioVo.java y contendrá lo siguiente:

package com.mx.crudjdbc.vo;

/**
*
* @author bl4ck0is1s
*/
public class Usuario extends InterfaceObject{
private int idUsuario;
private String nombre;
private String apellidoPaterno;
private String apellidoMaterno;
private int edad;
private String username;
private String password;

public int getIdUsuario() {
return idUsuario;
}

public void setIdUsuario(int idUsuario) {
this.idUsuario = idUsuario;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getApellidoPaterno() {
return apellidoPaterno;
}

public void setApellidoPaterno(String apellidoPaterno) {
this.apellidoPaterno = apellidoPaterno;
}

public String getApellidoMaterno() {
return apellidoMaterno;
}

public void setApellidoMaterno(String apellidoMaterno) {
this.apellidoMaterno = apellidoMaterno;
}

public int getEdad() {
return edad;
}

public void setEdad(int edad) {
this.edad = edad;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
@Override
public String toString(){
return getNombre() + “,” + getApellidoPaterno() + “,” + getApellidoMaterno()
+ “,” + getEdad() + “,” + getUsername() + “,” + getPassword();
}
}

de igual forma crearemos una clase que un DAO (Data Access Object), el cual nos ayudara a persistir los datos hacia la base de datos, el cual tiene los metodos para insertar, modificar y listar


package com.mx.crudjdbc.dao.impl;

import com.mx.crudjdbc.config.ConnectionDataBase;
import com.mx.crudjdbc.dao.UsuarioDao;
import com.mx.crudjdbc.vo.Usuario;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import org.apache.log4j.Logger;

public class UsuarioDaoImpl implements UsuarioDao {

private static final Logger logger = Logger.getLogger(UsuarioDaoImpl.class);

@Override
public Usuario saveUsuario(Usuario usuario) {
Connection reg = ConnectionDataBase.getConexion();

String sql = “INSERT INTO usuario (nombre, apellido_paterno, apellido_materno, edad, username, ”
+ “password) VALUES ”
+ “(?,?,?,?,?”
+ “,?)”;
try {

PreparedStatement pst = reg.prepareStatement(sql);

pst.setString(1, usuario.getNombre());
pst.setString(2, usuario.getApellidoPaterno());
pst.setString(3, usuario.getApellidoMaterno());
pst.setInt(4, usuario.getEdad());
pst.setString(5, usuario.getUsername());
pst.setString(6, usuario.getPassword());

int n = pst.executeUpdate();
if (n > 0) {
logger.debug(“usuario registrado: ” + usuario.toString());
JOptionPane.showMessageDialog(null, “Usuario Registrado Exitosamente”);
}

} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();

}
return null;
}

@Override
public Usuario updateUsuario(Usuario usuario) {
Connection connection = ConnectionDataBase.getConexion();
String sql = “UPDATE usuario SET nombre = ?, apellido_paterno = ?, apellido_materno = ?, edad = ?,”
+ ” username = ?, password = ? WHERE id_usuario = ?”;
try {
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1, usuario.getNombre());
pst.setString(2, usuario.getApellidoPaterno());
pst.setString(3, usuario.getApellidoMaterno());
pst.setInt(4, usuario.getEdad());
pst.setString(5, usuario.getUsername());
pst.setString(6, usuario.getPassword());
pst.setInt(7, usuario.getIdUsuario());

int n = pst.executeUpdate();
if (n == 1) {
logger.debug(“usuario registrado: ” + usuario.toString());
JOptionPane.showMessageDialog(null, “El Usuario se Actualizo Exitosamente”);
return usuario;
}

} catch (HeadlessException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
}
return null;
}

@Override
public Usuario getUsuarioById(int id) {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ResultSet getAll() {
Connection conexion = ConnectionDataBase.getConexion();
try {
String sql = “SELECT * FROM usuario”;
Statement st = conexion.createStatement();
ResultSet rs = st.executeQuery(sql);

return rs;
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}finally {
try {
conexion.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
return null;
}

@Override
public boolean deleteUsuario(int idUsuario) {
Connection connection = ConnectionDataBase.getConexion();
String sql = “DELETE from usuario where id_usuario = ?”;
try {
PreparedStatement pst = connection.prepareStatement(sql);
pst.setInt(1, idUsuario);

int n = pst.executeUpdate();
if (n == 1) {
logger.debug(“usuario eliminado: ” + idUsuario);
JOptionPane.showMessageDialog(null, “Usuario Eliminado”);
return true;
}

} catch (HeadlessException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
}
return false;
}

}

Bueno pues estos son los metodos mas importantes del proyecto que de igual forma se los dejo en la siguiente liga y que podran descargar desde mi repositorio de GitHub, otra cosa el proyecto esta echo en Maven, asi que para poder ejecutarlo deberan de tener instalado y por si no saben como pueden darle un vistaso a el siguiente post Como instalar Maven en Debian y Windows y pues aca les dejo la url para descargar el proyecto: https://github.com/bl4ck0is1s/CrudJdbc.

pues eso es todo si les gusto compartan es sus redes sociales.


  • 0

Instalar y configurar plugin checkstyle en eclipse

En este post les compartimos un video que realizamos para la configuración de un plugin para eclipse, el cual no ayuda a verificar errores de sintaxis en nuestro código, para este caso se los presentamos para el IDE Eclipse, de igual forma les dejamos el archivo xml que se uso para la configuración del plugin en el proyecto.

Ayuda compartiendo en la redes sociales y cualquier duda deja tu comentario.


  • 1

Como instalar Maven en Debian y Windows

apache_maven

En este articulo les vamos a comentar como instalar Maven en Debian por medio de los repositorios, de lo cual debe de ser parecido en sus derivados del mismo sistema operativo, al igual se les mostrara como instalar en el sistema operativo de Windows 7 al cual debe ser igual para alguno posterior.

En el caso de Debian solo basta con ejecutar este comando

sudo apt-get install maven

Una ve hecho esto se prueba que Maven funciona correctamente con el siguiente comando:

mvn -version

y les tendra que salir algo como esto

root@debian:/home/julio# mvn -version
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: es_MX, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-4-686-pae", arch: "i386", family: "unix"

Bueno eso es para linux, ahora para windows haremos lo siguiente:

procederemos a descargar el paquete de Maven desde su pagina oficial maven.apache.org y elegimos el paquete apache-maven-3.3.9-bin.zip, en mi caso siempre lo coloco en una carpeta o directorio en:

C:\software\apache-maven-3.3.9

Si nos damos cuenta y ejecutamos el comando mvn -version nos saldra el siguiente mensaje, el cual nos indica que no reconoce el comando, para cual deberemos proceder a agregar las variables de entorno de la siguiente forma:

Captura de pantalla 2016-04-08 a las 11.57.09 a.m.

nos iremos a las propiedades del sistema y le daremos clic en variables de entorno:

Captura de pantalla 2016-04-08 a las 12.00.23 p.m.

Encontraemos una opcion que dice agregar una nueva variable a la cual le pondremos el siguiente nombre:

M2_HOME

es importante agregarla toda en mayusculas asi como se nos muestra en la siguiente imagen:
La variable de entorno para maven sera la siguiente

Captura de pantalla 2016-04-08 a las 12.00.49 p.m.

despues procederemos a agregar la variable de maven a la variable path, para que esta sea reconocida por el sistema y quedaría de la siguiente manera:

;%M2_HOME%/bin

Captura de pantalla 2016-04-08 a las 12.01.44 p.m.

y por ultimo guardaremos todo y veremos que ya agregamos las variables de Maven en nuestro sistema , por ultimo solo recordarles que para que Maven funcione tienen que tener instalado alguna versión del jdk de Java y que de igual manera deben de agregar las variables de entorno al sistema:

Captura de pantalla 2016-04-08 a las 12.04.03 p.m.

pues eso seria todo, ayuda compartiendo y cualquier duda no olvides dejar tus comentarios.

 


  • 2

Cómo leer un archivo XML en Java con JDOM

Category : Java , Principal , Programación

En esta entrada te enseñaremos a usar JDOM para leer un archivo xml e imprimir cada elemento de forma ordenada.

Captura de pantalla 2016-02-26 a las 11.37.13 a.m.

1.- Descargar libreria de JDOM

JDOM no esta incluido en el JDK así que tenemos que descargar la libreria manualmente desde su sitio oficial de JDOM o si usan maven agregar la dependencia en el POM.

<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>

 

2.- Archivo xml a leer

<?xml version="1.0"?>
  <Persona>
    <Nombre>Julio</Nombre>
    <Apellido>Martinez</Apellido>
    <Nickname>Juls</Nickname>
  </Persona>


3.- Archivo Java

 import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class ReadXMLFile {

public static void main(String[] args) {

SAXBuilder builder = new SAXBuilder();
File xmlFile = new File(“resources/file.xml”);

try {
Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List list = rootNode.getChildren(“Persona”);

for (int i = 0; i < list.size(); i++) {
Element node = (Element) list.get(i);
System.out.println(“Nombre : ” + node.getChildText(“Nombre”));
System.out.println(“Apellido : ” + node.getChildText(“Apellido”));
System.out.println(“Nick Name : ” + node.getChildText(“Nickname”));
}
} catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}
}
}

 

4.- Resultado

 Nombre: Julio
Apellido: Martinez
Nickname: Juls