Академический Документы
Профессиональный Документы
Культура Документы
El API JDBC se presenta como una coleccin de interfaces Java y mtodos de gestin de manejadores de conexin hacia
cada modelo especfico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular
es un conjunto de clases que implementan las interfaces Java y que utilizan los mtodos de registro para declarar los tipos
de localizadores a base de datos (URL) que pueden manejar. Para utilizar una base de datos particular, el usuario ejecuta
su programa junto con la biblioteca de conexin apropiada al modelo de su base de datos, y accede a ella estableciendo
una conexin; para ello provee el localizador a la base de datos y los parmetros de conexin especficos. A partir de all
puede realizar cualquier tipo de tarea con la base de datos a la que tenga permiso: consulta, actualizacin, creacin,
modificacin y borrado de tablas, ejecucin de procedimientos almacenados en la base de datos, etc.
JDBC extiende lo que puede hacerse con Java. Por ejemplo, con Java y la API de JDBC, es posible publicar una pgina web
que usa informacin obtenida de una base de datos remota. O una compaa puede usar JDBC para conectar todos sus
empleados (incluso si estos estn usando un conglomerado de mquinas Windows, Macintosh y UNX) a una o ms bases
de datos internas va una intranet. De una forma simple, JDBC posibilita hacer tres cosas: Establecer una conexin con
una base de datos Enviar sentencias SQL Procesar los resultados
Controladores JDBC
Tipos de controladores (Drivers) de JDBC Java puede acceder a la base de datos mediante un driver o controlador JDBC
apropiado que pueda utilizar las clases que permiten el acceso a la base de datos. Existen diversos tipos de drivers, que
utilizan distintos protocolos. En particular, en esta asignatura se utilizar el llamado Puente JDBC-ODBC, que se explicar
ms adelante. 8.1.4.2. Cmo obtener los Drivers de JDBC Para conseguir la informacin actualizada sobre drivers, acceder
a la pgina web sobre drivers para JDBC de Sun, donde se mantiene un registro actualizado de vendedores de drivers:
http://industry.java.sun.com/products/jdbc/drivers
DBC ofrece el paquete jaca.sql, en el que existen clases muy tiles para trabajar con bases de datos.
Clase Descripcin
Mtodos
executeQuery(String sql) Ejecucin de consultas: SELECT Devuelve un objeto ResultSet
executeUpdate(String sql) Modificaciones en la BD: INSERT, UPDATE, DELETE Devuelve el nmero de columnas afectadas
execute(String sql) Ejecucin de instrucciones que pueden devolver varios conjuntos de resultados Requiere usar luego
getResultSet() o getUpdateCount() para recuperar los resultados, y getMoreResults() para ver los siguientes resultados
private static String servidor : Aqu colocaremos la ruta de nuestra base de datos;
private static Strinf user: Aqu colocaremos el nombre de usuario mySql;
private static String pass. Aqu colocaremos la clave de acceso de usuario a mySql;
private static String driver: Aqu colocaremos muestra librera mySql;
private static Connection conexion; Creamos un objeto de clase Connection para la conexin para la conexin;
1. Levantar el driver.
2. Establecer la conexin.
Bien, con el mtodo esttico de la clase "class" levanto el driver que le paso por argumentos:
Class.forName(driver);
Con el objeto Conecction obtengo la conexin por medio del mtodo esttico getConnection de la clase DriverManager,
pasndole por argumentos el servidor, el usuario y el pass:
conexion=DriverManager.getConnection(servidor,user,pass);
NOTA DE CLASE GUI-JAVA Conexin a Base de Datos
JDBC Java Database Connectivity
Finalmente creamos un mtodo para obtener el objeto de la clase Connection con la conexin establecida:
Bien, esta clase establece la conexin, ahora vamos a crear otra clase que se encargue de:
Insertar valores
Seleccionar valores
Borrar valores
Modificar valores
Nuestra clase tendr 5 atributos:
1. Un objeto de la clase escaner para leer desde teclado.
2. Un objeto Connection para obtener la conexin a la base de datos.
3. Un objeto tipo String para el nombre.
4. Un objeto de tipo String para el departamento.
5. Una variable de tipo int para las opciones del men.
NOTA DE CLASE GUI-JAVA Conexin a Base de Datos
JDBC Java Database Connectivity
Bueno, ahora crearemos una sentencia condicional switch, dentro de un bucle do/while, para que vaya dndonos las
opciones que queramos realizar hasta salir de la aplicacin, y todo esto, dentro del mtodo MAIN:
Bueno, aqu podis ver las opciones que tendr nuestro men:
Insertar
Modificar
Eliminar
Mostrar
Salir
En el blucle do/while establecemos que no se saldr del men hasta que la opcin 5 sea elegida. Ahora vamos a ir
explicando los mtodos realizados para completar todas las funciones del men:
INSERTAR:
NOTA DE CLASE GUI-JAVA Conexin a Base de Datos
JDBC Java Database Connectivity
Por pasos:
Cargamos nuestra conexin.
conexion=new Conexion();
Pasamos al objeto Connection de esta clase la conexin de la clase "Conexion" por medio de nuestro
mtodo getConnection():
Connection con=conexion.getConnection();
Creamos un objeto de la clase Statement, la cual ser la encargada de procesar la sentencia sqlque le
pasemos e interactuar con nuestra base de datos.
Statement st;
Pedimos los datos por pantalla y por medio del objeto teclado de la clase Scanner, leemos los datos que
deseemos agregar. Una cosa antes de continuar, es que, aunque mi tabla consta de 3 campos, yo tengo establecido el
primero (ID) como primary key, y he establecido que se auto-incremente, por lo tanto no tengo que introducirselo.
Una vez introducido los datos, creamos la sentencia sql para insertarlos en nuestra base de datos.
String sql="insert into empleados(nombre,departamento) values
('"+nombre+"','+departamento+"')";
Hay que darse cuenta que los "values" que le pasamos han de estar entre comillas simples ''.
Establecemos la comunicacin entre nuestra aplicacin java y la base de datos:
st=con.createStatement();
Le indicamos que ejecute la actualizacin de la tabla y le pasamos por argumentos nuestra sentenciasql:
st.executeUpdate(sql);
Cerramos las conexiones, en orden inverso a su apertura:
st.close();
con.close();
NOTA DE CLASE GUI-JAVA Conexin a Base de Datos
JDBC Java Database Connectivity
Con esto ya podremos insertar filas en nuestra base de datos.
Modificar:
Por pasos:
Cargamos nuestra conexin.
conexion=new Conexion();
Pasamos al objeto Connection de esta clase la conexin de la clase "Conexion" por medio de nuestro
mtodo getConnection():
Connection con=conexion.getConnection();
Creamos un objeto de la clase Statement, la cual ser la encargada de procesar la sentencia sql que le
pasemos e interactuar con nuestra base de datos.
Statement st;
Pedimos por teclado el nmero de ID del registro a modificar y se lo asignamos a una variable tipo int
llamada "n", posteriormente volvemos a pedir el nombre y el departamento para modificarlos.
Creamos nuestra sentencia sql:
String sql="update empleados set nombre='"+nombre+"', departamento='"+departamento+"'
where id="+n;
Establecemos la comunicacin entre nuestra aplicacin java y la base de datos:
NOTA DE CLASE GUI-JAVA Conexin a Base de Datos
JDBC Java Database Connectivity
st=con.createStatement();
Le indicamos que ejecute la actualizacin de la tabla y le pasamos por argumentos nuestra sentencia sql:
st.executeUpdate(sql);
Cerramos las conexiones, en orden inverso a su apertura:
st.close();
con.close();
Esta vez le he puesto una sentencia "if" para que me avise de si se modifico con xito o no. Con esto podremos modificar
nuestros registros.
Eliminar:
Llegados a este punto, ya te deberas de dar cuenta de que lo nico que cambio es la sentencia sql, el resto es
uncopy/paste, para que veas que no es tan complicado como parece.
Mostrar: