Aprenda           en N
         Diapositivas (Parte 1)
                                                 Por:
             ...
1. ¿Que es JDBC?

JDBC es Acrónimo de Java DataBase Conectivity, es una API estándar de Java que
nos permite el Acceso a b...
2. JDBC API

Como se menciono anteriormente JDBC es una API (Aplication Programming
Interface) que encontramos en el paque...
3. URL de la base de datos
La URL o Dirección de la base de datos es una cadena de texto que nos ayuda a
conectarnos direc...
4. Creando una Conexión JDBC
Ahora que ya conocemos los conceptos básicos de JDBC a manera de ejemplo
crearemos una clase ...
4.2 Cargando el Driver
Ahora crearemos una clase java y un método estático llamado Conexion
(Recuerde que java es case sen...
4.3 El Objeto Connection
El objeto Connection parte de la librería java.sql es el encargado de realizar al
conexión a trav...
Código para realizar la conexión:

//Protegemos el codigo, utilizamos la excepción del tipo SQLException
 try {
//Declaram...
4.4 El Objeto Statement
Una vez realizada la conexión será necesario crear un objeto Statement, el cual nos
permitirá la e...
4.5 Statement: executeQuery & executeUpdate
Ahora que el objeto statement esta listo para ejecutar consultas, mencinare qu...
4.4 El Objeto ResultSet
ResultSet también parte de java.sql, se encargará de almacenar los datos
obtenidos de la ejecución...
4.4 El Objeto ResultSet (Ejemplo)
  //Datos cargados previamente
  ResultSet rs = statement.executeQuery(“SELECT * FROM ta...
4.5 Metadatos
Para finalizar esta primera parte concluiremos con un poco de metadatos, un
Metadatos son información sobre ...
4.5 Metadatos (Ejemplo)
                              Objeto ResultSet cargado de datos a través de
                      ...
Fin de la parte 1, en la parte 2 veremos los objetos y
 métodos avanzados de javax.sql y recuerden que si
         tienen ...
Próxima SlideShare
Cargando en…5
×

Aprenda jdbc en n diapositivas

9.986 visualizaciones

Publicado el

Manual de JDBC parte 1

Publicado en: Tecnología
3 comentarios
13 recomendaciones
Estadísticas
Notas
Sin descargas
Visualizaciones
Visualizaciones totales
9.986
En SlideShare
0
De insertados
0
Número de insertados
1.579
Acciones
Compartido
0
Descargas
0
Comentarios
3
Recomendaciones
13
Insertados 0
No insertados

No hay notas en la diapositiva.

Aprenda jdbc en n diapositivas

  1. 1. Aprenda en N Diapositivas (Parte 1) Por: Domínguez Geniz Amalio Javier < ajdgeniz@hotmail.com geniz.tecnologico@gmail.com ajdgeniz@yahoo.com.mx > Java and all java-based http://ajdgeniz.wordpress.com trademarks are trademarks of Oracle Corporation in the U.S.A., Copyright 2010. Domínguez Geniz other countries or both. Tecnológico de Estudios Superiores de Chalco Amalio Javier 16/05/2010 Geniz v. 1.0 1
  2. 2. 1. ¿Que es JDBC? JDBC es Acrónimo de Java DataBase Conectivity, es una API estándar de Java que nos permite el Acceso a bases de datos relacionales como MySQL, Postgres, SQL Server, Oracle; Acceso a bases de datos relacionales embebidas o empotradas como: Firebird, SQLite, HSQLDB, etc. En Java SE 6 tenemos JDBC 4. Cada servidor de base de datos tiene un driver JDBC que cuenta con las interfaces especificadas en JDBC; es decir, cada manejador de base de datos tiene un driver especifico que generalmente viene en un archivo JAR y este es en la mayoría de los casos suministrado por terceros. 16/05/2010 Geniz v. 1.0 2
  3. 3. 2. JDBC API Como se menciono anteriormente JDBC es una API (Aplication Programming Interface) que encontramos en el paquete de java: java.sql, el cual contiene algunos objetos y métodos como: • DriverManager, Connection, ResultSet, DatabaseMetaData, ResultSetMetaData, PreparedStatement, CallableStatement, etc. Otras funciones de JDBC Avanzado las podemos encontrar en javax.sql, por ejemplo: • DataSource para realizar un pool de conexiones. 16/05/2010 Geniz v. 1.0 3
  4. 4. 3. URL de la base de datos La URL o Dirección de la base de datos es una cadena de texto que nos ayuda a conectarnos directamente a la base de datos, las URL’s deben de tener los siguientes datos: un nombre de servidor, un puerto, un protocolo, en algunas ocasiones la ubicación física de la base de datos, por ejemplo: URL MySQL: jdbc:mysql://servidor:puerto/Nombrebasedatos Jdbc:mysql://localhost:3306/information_schema URL Oracle: jdbc:oracle:thin:@NombreMaquina:Puerto:NombreBasedeDatos jdbc:oracle:thin:@localhost:1521:system URL HSQLDB(Modo Standalone): jdbc:hsqldb:file:UbicaciondelArchivo jdbc:hsqldb:file:C:/MiBase/Sample 16/05/2010 Geniz v. 1.0 4
  5. 5. 4. Creando una Conexión JDBC Ahora que ya conocemos los conceptos básicos de JDBC a manera de ejemplo crearemos una clase que nos permita realizar la conexión y obviamente ejecutar consultas, explicare cada una de los objetos implicados, métodos y excepciones. 4.1 Importando la clase java.sql Para empezar este ejemplo debemos primeramente la clase java.sql, que nos permitira utilizar los objetos de esta librería, no es necesario importarla en un principio ya que podemos importarla al momento de definir los objetos: Import java.sql.*; 16/05/2010 Geniz v. 1.0 5
  6. 6. 4.2 Cargando el Driver Ahora crearemos una clase java y un método estático llamado Conexion (Recuerde que java es case sensitive; es decir, distingue entre mayúsculas y minúsculas): public class JDBC { public static void Conexion{ //Registramos el driver a través de: Class.forName(<NombreDriverr>), el nombre del driver varia en funcion de la base de datos utilizada por ejemplo, mysql: com.mysql.jdbc.Driver, Derby: org.apache.derby.jdbc.ClientDrive , HSQLDB: org.hsqldb.jdbcDriver,etc. //Protegemos la excepción con un bloque try y utilizando ClassNotFoundException //El driver deberá estar cargado en la classpath. try {Class.forName("com.mysql.jdbc.Driver"); }catch (ClassNotFoundException e) { System.out.println(«Error debido a: " + e); } 16/05/2010 Geniz v. 1.0 6
  7. 7. 4.3 El Objeto Connection El objeto Connection parte de la librería java.sql es el encargado de realizar al conexión a través del objeto DriverManager y su método getConnection el cual recibe como parámetros: URL, Usuario y Contraseña. Tambien contiene metodos para cerrar la conexión, habilitar las consultas para el objeto Statement, etc. java.sql.DriverManager • getConnection(String url, String usuario, String password) throws SQLException java.sql.Connection • Statement createStatement() throws SQLException • void close() throws SQLException • void setAutoCommit(boolean b) throws SQLException • void commit() throws SQLException • void rollback() throws SQLException 16/05/2010 Geniz v. 1.0 7
  8. 8. Código para realizar la conexión: //Protegemos el codigo, utilizamos la excepción del tipo SQLException try { //Declaramos el objeto Connection Connection conexion = null; //Creamos la conexión con la URL, usuario y password Conexión=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/MyD B", “usuario"," password"); /*Finamente atrapamos la excepción , esta generalmente ocurrirá si la conexión no se puede establecer*/ } catch(SQLException e) { System.out.println(" Error al intentar conectarse" + e); } 16/05/2010 Geniz v. 1.0 8
  9. 9. 4.4 El Objeto Statement Una vez realizada la conexión será necesario crear un objeto Statement, el cual nos permitirá la ejecución de consultas SQL, este objeto será creado a partir de connection, puede usar el mismo statement para ejecutar N consultas: • java.sql.Statement – ResultSet executeQuery(string sql) – int executeUpdate(String sql) • Ejemplo: Statement statement = conexion.createStatement(); 16/05/2010 Geniz v. 1.0 9
  10. 10. 4.5 Statement: executeQuery & executeUpdate Ahora que el objeto statement esta listo para ejecutar consultas, mencinare que tenemos dos metodos q nos permiten realizarlo: 1) executeQuey: Permite ejecutar consultas con el comando SELECT 2) executeUpdate: Permite realizar consultas con los comando UPDATE y DELETE. //Almacenaremos los datos en un ResultSet executeQuery (SELECT) • ResultSet rs = statement.executeQuery(“SELECT * FROM tabla"); //Retornara el numero de registros modificados executeUpdate(UPDATE/DELETE) • int numero= statement.executeUpdate(“UPDATED tabla SET nombre = ‘Geniz' WHERE id = 12345"); 16/05/2010 Geniz v. 1.0 10
  11. 11. 4.4 El Objeto ResultSet ResultSet también parte de java.sql, se encargará de almacenar los datos obtenidos de la ejecución de una consulta SQL, a través de este, podemos iterar entre nuestros registros. Cabe mencionar que este objeto es de tipo booleano y los datos almacenados se cargaran por medio de la consulta ejecutada en el objeto Statement. java.sql.ResultSet getXXX es metodo que boolean next() corresponde con cada objeto getInt(int Numerocolumna) de la biblioteca java.sql.Types getString(String Nombrecolumna) getXXX(int o String Columna) void close() Este iterador es posicionado a la primera fila en el indice cero Debemos utilizar el metodo next() para desplazarnos al siguiente registro. 16/05/2010 Geniz v. 1.0 11
  12. 12. 4.4 El Objeto ResultSet (Ejemplo) //Datos cargados previamente ResultSet rs = statement.executeQuery(“SELECT * FROM tabla"); //Como podrá darse cuenta utilizando un while y con el metodo next() iteramos entre los datos, este bucle se ejecuta cada vez que next(tipo boleano) regresa un valor true, de lo contrario el ciclo terminara indicando que se ha llegado hasta el ultimo registro. while (rs.next()){ // Incorrecto String value0 = rs.getString(0); // Correcto String value1 = rs.getString(1); int value2 = rs.getInt(2); int value3 = rs.getInt(“ADDR_LN1"); } 16/05/2010 Geniz v. 1.0 12
  13. 13. 4.5 Metadatos Para finalizar esta primera parte concluiremos con un poco de metadatos, un Metadatos son información sobre los datos, en este caso información sobre los objetos de nuestra base de datos y sobre las consultas, para ello utilizaremos ResultSetMetaData & DatabaseMetaData. Que son objetos que utilizan Connection y Resultset: ResultSetMetaData rsMeta = rs.getMetaData(); DatabaseMetaData dbmetadata = conexion.getMetaData(); 16/05/2010 Geniz v. 1.0 13
  14. 14. 4.5 Metadatos (Ejemplo) Objeto ResultSet cargado de datos a través de Statement ResultSetMetaData rsmd = rs.getMetaData(); Column = rsmd.getColumnCount(); //Extraemos el Num de Columnas for (int i =1 ; i <= Column ; i++){ //Extraemos el nombre System.out.println(“Nombre: " + rsmd.getColumnName(i)) //Extraemos el Tipo de Dato System.out.println(“Tipo: " + rsmd.getColumnType(i)); //Extraemos el Tamaño del dato(Columna) System.out.println(" Tamaño: " + rsmd.getColumnDisplaySize(i) ); } 16/05/2010 Geniz v. 1.0 14
  15. 15. Fin de la parte 1, en la parte 2 veremos los objetos y métodos avanzados de javax.sql y recuerden que si tienen dudas me pueden escribir en: http://ajdgeniz.wordpress.com 16/05/2010 Geniz v. 1.0 15

×