Guia Java Con Base de Datos-Semestre 2024-II
Guia Java Con Base de Datos-Semestre 2024-II
Para poder trabajar con la interfaz gráfica, debe descargar para eclipse el
componente windowbuilder de java e instalarlo a su programa. Otra opción es que
instale en su máquina el programa netBeans que ya tiene la interfaz gráfica
agregada o visualStudio el cual deberá descargar las librerías que requiera.
Adicionalmente debe descargar los drivers de mysql para java. Debe revisar
la versión de equipo para descargar la adecuada. Configurar y probar que se ejecute
la conexión desde java a mysql.
Hay tres tipos de bases de datos, bases de datos relacionales, base de datos
relacionales-objetos y bases de datos orientadas a objetos. En esta lectura se
explicará brevemente el uso de la base de datos relacional, queda de parte del
estudiante profundizar la información.
Cuando se habla de acceso a una base de datos, hay dos operaciones que un
programa java puede ejecutar.
Sin embargo, un programa java es una entidad externa, residiendo fuera del
sistema manejador de base de datos. ¿Cómo se hace para que nuestros programas
ejecuten estas tareas? Para que esas operaciones se puedan ejecutar, debe existir
una conexión entre el programa java y el sistema de base de datos. Dado que hay
diferentes tipos de base de datos, la conexión dependerá del tipo de controlados de
base de datos provisto por el vendedor del sistema de base de datos. De esta
manera, se ve que hay una serie de pasos que deben seguirse para acceder a los
datos de una base de datos. Estos pasos son los siguientes:
El API JDBC
Para trabajar con JDBC, se necesita importar las clases e interface del
paquete java.sql. Las siguientes clases e interfaces permiten realizar accesos
simples a base de datos.
• java.sql.DriverManager
• java.sql.Driver
• java.sql.Connection
• java.sql.Statement
• java.sql.ResultSet
Estas son las cinco clases e interfaces básicas que se encuentran en cualquier
programación de base de datos que involucra JDBC. Hay cuatro clases/interfaces
que permiten realizar una programación sofisticada de base de datos. Ellas son:
• java.sql.ResultSetMetaData
• java.sql.DatabaseMetaData
• java.sql.PreparedStatement
• java.sql.CallableStatement
• DriverManager carga el controlador requerido directamente.
• La aplicación usa DriverManager para establecer conexiones a base de
datos
• Driver crea conexiones internamente .
• La aplicación usa el objeto Connection para obtener objetos Statement.
• Los conjuntos resultados se reciben de los objetos Statement mediante la
aplicación.
• La aplicación obtiene datos del objeto ResultSet.
• El objeto Connection se relaciona al objeto DatabaseMetaData
• PreparedStatament hereda de Statement.
• CallableStatement hereda de PreparedStatement
Cargar el controlador
Aquí,
jdbc es el protocol
odbc es el subprotocol
Sample es el subname
MS Access
Connection conn;
String databaseURL = “jdbc:odbc:Sample”;
Conn = DriverManager.getConnection(databaseURL, “”, “”);
MS SQL Server
Connection conn;
String databaseURL = “jdbc:odbc:Sample”;
Conn = DriverManager.getConnection(databaseURL, “user”,
“password”);
Connection conn;
String databaseURL = “jdbc:db2://COM:8000/Sample”;
Conn = DriverManager.getConnection(databaseURL, “user”,
“password”);
MYSQL
Connection conn;
String databaseURL = “jdbc:mysql://COMP:8000/Sample”;
Conn = DriverManager.getConnection(databaseURL, “user”,
“password”);
PostgreSQL
Connection conn;
String databaseURL = jdbc:postgresql://COMP:8000/Sample”;
Conn = DriverManager.getConnection(databaseURL, “user”,
“password”);
• UPDATE
• INSERT
• DELETE
• SELECT
En este ejemplo se usaran tres tablas en una base de datos llamada Sample
en IBM UDB DB2..
/* importar paquetes */
import java.sql.*;
Connection conn;
Statement stmt;
Con = DriverManager.getConnection(“jdbc:db2:Sample”,
“db2admin”, “123”);
/* para MySQL sería
Con =
DriverManager.getConnection(“jdbc:mysql://localhost/Sample”,
“db2admin”, “123”); */
Stmt = conn.createStatement();
}//fin constructor
}//fin insertarDatos
while(rs.next()){
System.out.println(rs.getInt(1) + “ ” +
Rs.getString(2) + “ “ + rs.getString(3) +
“ “ + rs.getString(4));
}//fin while
System.out.println(“Tabla producto-proveedores\n”);
while(rs.next()){
System.out.println(rs.getInt(1) + “ ” +
Rs.getInt(2) + “ “ + rs.getInt(3));
}//fin while
System.out.println(“\n”);
rs.close();
}//fin consultarDatos
}//fin borrarDatos
}//fin clase
Class DBEjemplo{
public static void main(String[]arg){
try{
DBAcceso dba = new DBAcceso();
dba.insertarDatos();
dba.consultarDatos();
}//fin bloque try
catch(SQLException e){
System.out.println(e);
}//fin catch SQLException
catch(Exception e){
System.out.println(e);
}//fin catch Exception
}//fin main
}/fin clase
Para que un usuario pueda acceder a la aplicación, lo primero que debe hacer
es registrarse en el sistema, por lo que deberá poseer una ventana de LOGIN (con
los campos básicos como usuario y contraseña) y otra ventana donde el usuario
pueda registrarse cuando desea trabajar con la aplicación. En estas ventanas, es
donde Ud. trabajará el CRUD (Create-Read-Update-Delete). Una vez registrado, el
usuario podrá crear sus proyectos para aprender a trabajar con las estructuras de
control que así requiera.
Requerimientos:
Software: Java + MySQL (puede usar el servidor que mejor le funcione)
Una vez que el usuario ha iniciado su sesión, se habilitará la interfaz para que
pueda trabajar con el editor con la estructura de control que elija. Allí podrá
guardarla, para que pueda tener un registro de su progreso o seguir practicando en
otro momento, sin tener que comenzar desde cero la práctica. La idea es que el su
prototipo pueda ayudar a los estudiantes de programación a comprender como se
ejecutan las distintas estructuras de control y observar a medida que escribe el
seudocódigo, el diagrama que va generando su algoritmo.
SE PIDE: