Administrar Bases de Datos en MySQL
Administrar Bases de Datos en MySQL
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 1 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x
Como practica vamos a crear la base de datos “colegio”, inicialmente con la tabla
estudiante, cuya estructura es la siguiente:
Estudiante
docEst (int )
nomEst (varchar 30)
apeEst(varchar 30)
dirEst (varchar 60)
telEst (varchar 11)
Si el mensaje que aparece es diferente y el sistema nos informa que no es posible establecer
conexión, uno de los motivos puede ser que la librería este desactualizada, es por ello que se debe
descargar una versión mas acutlizada de dicha librería ( en este ejemplo utlizaremos la librería
MySQL Connector8.0.31.jar)
Una vez copiada la librería en la respeciva ubicación, volvemos a la pestaña de servicios, opcion
DRIVERS, alli realizamos dos pasos:
1. Eliminar el driver antiguo (clic derecho - delete o suprimir)
Una vez eliminado el driver , hacemos clic derecho para que aparezca la opcion de NEW DRIVER
Y BUSCAMOS LA RUTA DONDE COPIAMOS el driver actualizado (C:\Program
Files\NetBeans-12.0\netbeans\ide\modules\ext”, seleccionamos el archivo y clic en
abrir
Sabemos que el driver quedo actualizado porque aparece la siguiente pantalla y entre los driver se
visualiza la opcion MySQL(Connector/J driver)
En este momento volvemos a repetir los pasos para usar el conector, ES DECIR, Se debe buscar la
pestaña servicios, ubicar la opción denominada MySQL, y sobre ella hacer clic derecho para que
aparezca la opción “Connect Using..” relacionados en el numeral 2. INICIAR Y ENLAZAR EL
SERVICIO DE BASES DE DATOS.
Ahora vamos a informarle al sistema que utilice las librerias necesarias para el buen
funcionamiento de MYSQL, es por ello que ahora en la pestaña PROJECTS, debe buscar el icono
Libraries y hace clic derecho en la opción AddJar o AddLibrary dependiendo de la versión de
netbeans instalada, en nuestro caso es 12.x
En la opción AddJAR, aparecerán las siguientes imágenes, para poder ubicar la ruta adecuada de
la librería, en nuestro caso debe estar en el paquete librerias
Al realziar clic en abrir se relacionará el archivo.jar, para este momento la librería ya quedó
enlazada al proyecto y aparecerá de la siguiene manera
En este caso
8.0.31
OJO: Sin esta librería, no podríamos realizar DESDE NETBEANS ninguna gestión
en la base de datos que se creó inicialmente (para este caso, la base de datos llamada
colegio). Para cada proyecto con conexión a bases de Datos, se debe vincular esta
librería.
Puede llegar a suceder que el computador requiera una librería diferente, este
ejemplo lo realizamos con la librería 8.0.31
Desde este paquete se va manejar la conexión a la Base de datos, es por ello que se
va a crear una clase llamada clsConexion, con el siguiente código.
Desde este paquete se va a manejar las instrucciones SQL (insert, select, update, etc)
que nos permiten manipular cada una de las tablas de la Base de datos. Por cada
entidad de la base de datos, se debe tener una clase; es por ello que para este
ejemplo se va a crear una clase con el nombre clsEstudiante, con el siguiente código.
import Controlador. clsConexion;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
//Encapsulación: Se crean los métodos GET y SET para cada variable declarada, las cuales
van acorde con los campos de la entidad a trabajar.
Netbeans nos permite realizar de manera automática la encapsulación, esto se puede realizar de
diversas formas.
a. Seleccione las variables a encapsular (para nuestro caso, private int docEst; private String
nomEst; private String apeEst; private String dirEst; private String telEst;)
Al hacer clic en Encapsulate Fields… aparecerá la siguiente pantalla, para que de clic en el botón
“Refactor”
Al hacer clic en “Refactor”, el sistema automáticamente genera el siguiente código, esto optimiza
tiempos al momento de programar. La encapsulación quedaría de la siguiente manera:
Forma 2. Click derecho en la opción insert code…, luego Getter and setter, se deben también
seleccionar las variables de tipo private para que se genere el código correspondiente.
CONSTRUCCION DE LOS METODOS: Estos métodos son los que nos permitirán
manipular las tablas o entidades de la base de datos.
METODO GUARDAR
Cuando el campo es de tipo date, en los argumentos del método se deja como tipo
String y en la instrucción SQL se informa que el campo es de tipo date con la
función STR_TO_DATE
objConec.Sql.executeUpdate();
objConec.cerrar();
JOptionPane.showMessageDialog(null, "Registro guardado con éxito");
} catch (HeadlessException | SQLException e) {
JOptionPane.showMessageDialog(null, "Error al guardar"+ e);
METODO BUSCAR
public void Buscar() {
try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("SELECT * FROM estudiante WHERE
docEst=?");
objConec.Sql.setInt(1, getDocEstu());
objConec.Sql.executeQuery();
datos = objConec.Sql.getResultSet();
} catch catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(null, "error al buscar" + e);
}
}
METODO ACTUALIZAR
public void Actualizar() {
try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("UPDATE estudiante SET nomEst =?,
apeEst=?, dirEst =?, telEst=? WHERE docEst =?");
objConec.Sql.setString(1, getNomEstu());
objConec.Sql.setString(2, getApeEstu());
objConec.Sql.setString(3, getDirEstu());
objConec.Sql.setString(4, getTelEstu());
objConec.Sql.setInt(5, getDocEstu());
objConec.Sql.executeUpdate();
objConec.cerrar();
JOptionPane.showMessageDialog(null, "Registro actualizado con éxito");
} catch (HeadlessException | SQLException e)) {
JOptionPane.showMessageDialog(null, "error al actualizar:" + e);
}
}
METODO ELIMINAR (Recuerde que este método solo se usa en casos especiales, no puede
estar al acceso de todos los usuarios.)
Con las dos clases creadas, la de conexión y la que contiene sintaxis SQL procedemos a crear
el formulario para manipular la tabla de la Base de Datos, en nuestro caso la tabla
estudiante, el diseño del formulario seria el siguiente.
Puede observar que tenemos una caja de texto para cada campo de la tabla estudiante y los
botones básicos de manipulación de datos (Guardar, Buscar, Actualizar, Eliminar).
FORMULARIO
ESTUDIANTE
Cada uno de los botones del formulario van a tener asignadas funciones de manipulación de la
base de datos.
Se iniciará con el método guardar, de manera muy especial en este método se debe garantizar la
integridad de los datos, es por ello que se debe validar que las cajas de texto nunca estén vacías.
} else if (txtnom.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtnom.grabFocus();
} else if (txtape.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtape.grabFocus();
} else if (txtdir.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtdir.grabFocus();
} else if (txttel.getText().length() == 0) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txttel.grabFocus();
} else {
this.captura();
objEst.guardar();
}
//Se va a llamar el método eliminar de la clase Estudiante, Esta opción solo se usa en
casos especiales, y una vez se haya realizado la búsqueda de un registro.
public void eliminar() { //Esta opción solo se usa en casos especiales
int a = JOptionPane.showConfirmDialog(null, "Desea Eliminar los datos?", "Sistema", 0, 1);
if (a == 0) // Hace clic en el icono SI
{
objEst.eliminar();
}
}
DATOS DE INTERES
VALIDAR QUE LAS CAJAS DE TEXTO TENGAN INFORMACION
Es así que si se tienen varias cajas de texto, donde solo se reciben números, en
cada una de ellas se debe realizar la misma programación.
Para el manejo de fechas también existen calendarios prediseñados en java, uno muy
utilizado es el jDatachooser o el Jcalendar, los cuales manejan sus propias
librerías y se deben descargar para poder vincularlas al proyecto.
objEst.guardar(Integer.parseInt(txtcod.getText()),txtnom.getText(), txtape.getText(),
txtdireccion.getText(), txttelefono.getText(), dato);
EN LA CLASE LOGICA
public void llenartipo ()
{
try
{
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement ("SELECT * FROM tipo");
objConec.Sql.executeQuery();
datos = objConec.Sql.getResultSet();
objConec.cerrar();
}
catch(Exception ex)
{
System.out.println("error al buscar");
}
}
public void llenartabla() // Con información que viene de una tabla de la base de
datos
{
try
{
borrarTabla(); // metodo que permite limpiar la tabla
objEst.mtdlistar(); //método que tiene el código SQL con la información de la
tabla, recuerde que las instrucciones de este método están en la clase lógica.
while (objEst.datos.next()==true)
{
String Nombre= objEst.datos.getString(1);
String Direccion = objEst.datos.getString(2);
String Telefono = objEst.datos.getString(3);
Object fila[]={Nombre,Direccion, Telefono};
tabladatos.addRow(fila); // tabladatos Es el nombre del modelo
}
}
catch(Exception ex)
{
System.out.println("error al llenar la tabla");
}
}
SELECCIONAR UNA FILA DEL JTABLE
Este proceso nos permite seleccionar una fila del jtable mediante el uso del mouse y
cuando se ubique el puntero de éste automáticamente aparecerán los datos en
diferentes objetos, para el ejemplo que presento en este material los datos
aparecerán en los compenentes de texto (txt).