TUTORIAL DE CONEXIÓN DE MYSQL CON JAVA NETBEANS

Paso 1: Creamos una base de datos en mysql Db_Matricula

# create database Db_Matricula;

Paso 2: Usamos la base de datos creada en mysql, para poder crear una tabla llamada tb_estudiante con 6 atributos

#use Db_Matricula;

Creamos la tabla

#create table tb_estudiante(

# id INTEGER NOT NULL AUTO_INCREMENT,

# nombre VARCHAR(20),

# apellido VARCHAR(20),

# edad VARCHAR(20),

# sexo VARCHAR(20),

# direccion VARCHAR(20),

# telefono VARCHAR(20),

# PRIMARY KEY(id));

Paso 3: Ingresamos a netbeans en donde se creó un nuevo proyecto con el nombre de Sistema Matriculación

Paso 4: Nos ubicamos en el proyecto Sistema Matriculación y creamos tres paquetes Modelo, Vista, Controlador.

Paso 5: Después hemos importado la librería MYSQL JBC DRIVER, hemos ingresado al paquete Controlador para crear la clase cls_conexion, y así poder de esta manera realizar la conexión de mysql y java mediante el presente código:

package Contralador;

import com.mysql.jdbc.Connection;

import java.sql.DriverManager;

/**

*

* @author usuario

*/

public class Cls_conexion {

Connection miconexion= null;

public Connection conexion() {

try {

Class.forName("com.mysql.jdbc.Driver");

miconexion=(Connection) DriverManager.getConnection("jdbc:mysql://localhost/db_Estudiante","root","root");}

catch (Exception e) {

System.out.printf(e.getMessage());}

return miconexion;

}

}

Paso 6: En el paquete Modelo creamos la clase cls_Estudiante dentro de la cual hemos colocado métodos get y set

# Código

package Modelo;

public class Cls_estudiante {

public String Nombre,

Apellido,Edad,Sexo,Direccion,Telefono;

public void Cls_estudiante(){

}

public Cls_estudiante(String Nombre, String Apellido, String Edad, String Sexo, String Direccion, String Telefono) {

this.Nombre = Nombre;

this.Apellido = Apellido;

this.Edad = Edad;

this.Sexo = Sexo;

this.Direccion = Direccion;

this.Telefono = Telefono;

}

public String getNombre() {

return Nombre;

}

public void setNombre(String Nombre) {

this.Nombre = Nombre;

}

public String getApellido() {

return Apellido;

}

public void setApellido(String Apellido) {

this.Apellido = Apellido;

}

public String getEdad() {

return Edad;

}

public void setEdad(String Edad) {

this.Edad = Edad;

}

public String getSexo() {

return Sexo;

}

public void setSexo(String Sexo) {

this.Sexo = Sexo;

}

public String getDireccion() {

return Direccion;

}

public void setDireccion(String Direccion) {

this.Direccion = Direccion;

}

public String getTelefono() {

return Telefono;

}

public void setTelefono(String Telefono) {

this.Telefono = Telefono;

}

}

Paso 7: Luego en el paquete Vista creamos un formulario con el nombre de Jfrm_Estudiante en el cual hemos realizado un diseño con 6 cajas de texto una tabla y tres botones:

Paso 8: Una vez terminado el diseño hemos nos hemos ubicado en la parte final del código del Jframer Jfrm_Estuiante y hemos instanciao la clase cls_conexion

#Código

Cls_conexion cc=new Cls_conexion();

Connection cn=cc.conexion();

Paso 9: Luego damos clic derecho en el botón Guardar y seleccionamos la opción e acctionPreformed y realizamos el código de inserción de datos

#Código

int opc= JOptionPane.showConfirmDialog(null,"Desea Guardar los datos");

if (opc==JOptionPane.YES_OPTION){

try {

PreparedStatement pt= (PreparedStatement) cn.prepareStatement("INSERT INTO tb_Estudiante (nombre,apellido,edad,sexo,direccion,telefono) VALUES (?,?,?,?,?,?) ");

String Nombre= txt_nombre.getText();

String Apellido=txt_apellido.getText();

String Edad= cbm_edad.getSelectedItem().toString();

String Sexo= txt_sexo.getText();

String Direccion= txt_direccion.getText();

String Telefono= txt_telefono.getText();

Cls_estudiante obj=new Cls_estudiante(Nombre, Apellido, Edad, Sexo, Direccion, Telefono);

pt.setString(1, obj.getNombre());

pt.setString(2, obj.getApellido());

pt.setString(3, obj.getEdad());

pt.setString(4, obj.getSexo());

pt.setString(5, obj.getDireccion());

pt.setString(6, obj.getTelefono());

pt.executeUpdate();

} catch (Exception e) {

}

}

else{

JOptionPane.showMessageDialog(null, "No se almaceno los datos");

btn_guardar.setText("Interumpido");

}

Paso10: Tambien hemos colocado una linea de código para cambiar el nombre del botón al momento de cancelar el guardado de datos se coloque el nombre de interrumpido o cancelado:

# Codigo

else{

JOptionPane.showMessageDialog(null, "No se almaceno los datos");

btn_guardar.setText("Interumpido");

}

Paso 11 : Luego arrastramos una tabla en el diseño y le asignamos una variable tb_datos sobre agregamos un menú Item que nos permita guardar y mostar los datos dentro de la tabla con siguiente código:

public void mostrardatos(String valor){

DefaultTableModel model= new DefaultTableModel();

model.addColumn("id");

model.addColumn("nombre");

model.addColumn("apellido");

model.addColumn("edad");

model.addColumn("sexo");

model.addColumn("direccion");

model.addColumn("telefono");

tb_datos.setModel(model);

String sql="";

if(valor.equals("")){

sql= "select *from tb_Estudiante ORDER BY apellido ASC";

}else{

sql="select *from tb_Estudiante where id='"+valor+"'";

}

String [] datos = new String[7];

try {

Statement st=cn.createStatement();

ResultSet rt=st.executeQuery(sql);

while(rt.next()){

datos[0] = rt.getString(1);

datos[1] = rt.getString(2);

datos[2] = rt.getString(3);

datos[3] = rt.getString(4);

datos[4] = rt.getString(5);

datos[5] = rt.getString(6);

datos[6] = rt.getString(7);

model.addRow(datos);

}

} catch (Exception e) {

}

}

Paso 12. Luego para mostrar datos de la fila seleccionada en la tabla y poder editar o elimina a traves del popmenu codificamos las siguientes líneas de código.

public void Fila(){

int fila = tb_datos.getSelectedRow();

if (fila >= 0) {

txt_id.setText((String) tb_datos.getValueAt(fila, 0).toString());

txt_nombre.setText((String) tb_datos.getValueAt(fila, 1).toString());

txt_apellido.setText((String) tb_datos.getValueAt(fila, 2).toString());

txt_sexo.setText((String) tb_datos.getValueAt(fila, 4).toString());

txt_direccion.setText((String) tb_datos.getValueAt(fila, 5).toString());

txt_telefono.setText((String) tb_datos.getValueAt(fila, 6).toString());

} else {

JOptionPane.showMessageDialog(null, "FILA NO SELECCIONADA");

}

}

Paso 13. Luego agregamos el método limpiar datos para limpiar las cajas de texto una vez guardados los datos:

void limpiar() {

txt_id.setText(null);

txt_nombre.setText(null);

txt_apellido.setText(null);

txt_sexo.setText(null);

txt_direccion.setText(null);

txt_telefono.setText(null);

}

Paso 14. : Luego seleccionamos con un clic derecho en el ítem del popup menu Editar y seleccionamos la opción de acctionPreformed y realizamos el código código para actualizar los datos:

private void btn_editarActionPerformed(java.awt.event.ActionEvent evt) {

try {

PreparedStatement pts = (PreparedStatement) cn.prepareStatement("Update tb_Estudiante set nombre='"+txt_nombre.getText()+"',apellido='"+txt_apellido.getText()+"',edad='"+cbm_edad.getSelectedItem().toString()+"',sexo='"+txt_sexo.getText()+"',direccion='"+txt_direccion.getText()+"',telefono='"+txt_telefono.getText()+"' where nombre='"+txt_nombre.getText()+"'");

pts.executeUpdate();

mostrardatos("");

limpiar();

} catch (Exception e) {

}

}

Paso 15. Luego seleccionamos con un clic derecho en el ítem del popmenu Eliminar y seleccionamos la opción acctionPreformed y realizamos el código para eliminar los datos de la tabla:

boolean a = true;

int fila = tb_datos.getSelectedRow();

String cod = "";

cod = tb_datos.getValueAt(0, fila).toString();

try {

PreparedStatement pts = (PreparedStatement) cn.prepareStatement("Delete from tb_Estudiante where id='" + cod + "'");

pts.executeUpdate();

MostrardatosID("");

} catch (Exception e) {

}

Paso 16. Una vez de realizar los procesos de Guardar, Editar, Eliminar procedemos a el paquete Vista creamos un formulario con el nombre de Jfrm_Reportes allí generamos las librerías para generar reportes.

Paso.17. Luego procedemos a generar código para que se presenten todos los usuarios para que realicen reportes con el siguiente código.

try {

JasperReport reporte=JasperCompileManager.compileReport("report1.jrxml");

JasperPrint imprime = JasperFillManager.fillReport(reporte, null, this.cn);

JasperViewer.viewReport(imprime);

} catch (Exception e) {

System.out.print("No se Ejecuta");

}

}

private void cbmCedula1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

}

Paso.18 Luego procedemos a generar código para que se presente el reporte por el apellido con siguiente código.

private void btn_apellidoActionPerformed(java.awt.event.ActionEvent evt) {

String parametrocedu=txtapellido.getText();

Map parametro=new HashMap();

parametro.put("apellido",parametrocedu);

try {

JasperReport reporte=JasperCompileManager.compileReport("report3.jrxml");

JasperPrint imprime = JasperFillManager.fillReport(reporte, parametro, this.cn);

JasperViewer.viewReport(imprime);

} catch (Exception e) {

System.out.print("No se Ejecuta");

}

}

Paso.19 Luego procedemos a generar código para que se presente el reporte por el nombre con siguiente código.

private void btn_nombre1ActionPerformed(java.awt.event.ActionEvent evt) {

String parametrocedu=txtnombre.getText();

Map parametro=new HashMap();

parametro.put("nombre",parametrocedu);

try {

JasperReport reporte=JasperCompileManager.compileReport("report2.jrxml");

JasperPrint imprime = JasperFillManager.fillReport(reporte, parametro, this.cn);

JasperViewer.viewReport(imprime);

} catch (Exception e) {

System.out.print("No se Ejecuta");

}

}

.