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");
}
}
.