Download Cap6.2 TAP3501 - WordPress.com

Document related concepts
no text concepts found
Transcript
DuocUC
Tópicos Avanzados de Programación
(TAP3501)
Ariel Alexis Fierro Sáez
[email protected]
Uso JDBC en Java
Uso JDBC en aplicaciones java
Class.forName("driver")
Cargar/Registrar el
driver JDBC
DriverManager.getConnection
( url, usr, pwd)
Obtener la conexión
Retorna objeto tipo
Conecction (con)
con.createStatement();
con.prepareStatement();
con.prepareCall();
Crear el comando
SQL
Retorna objeto tipo
Statement (stmt)
stmt.executeQuery();
stmt.executeUpdate();
(create, alter, drop) DDL
(insert, update, delete) DML
stmt.close();
con.close();
Ejecutar el
comando SQL
Procesa los
resultados.
Liberar recursos
• DML, DDL executeUpdate();
• select executeQuery()
1- Cargar Driver JDBC
• Para conectarnos a una base de datos a través JDBC
desde una aplicación java, lo primero que
necesitamos es cargar el driver.
• Sintaxis:
Facilitado por
el fabricante
Class.forName("com.mysql.jdbc")
• Llamando a Class.forName la aplicación java
cargara el driver JDBC y entonces ya nos podemos
conectar con la base de datos invocando el metodo
DriverManager.getConnection.
2- Obtener la conexión
• Una vez cargado el driver , utilizaremos el
método getConnection parque define una URL
la cual indicara la ubicación de la base de datos.
usuario
• Sintaxis:
clave
Connection con = DriverManager.getConnection(url, usr, psw)
jdbc:<subprotocolo>:<subnombre>
Es el protocolo
Identifica el driver
Dirección del servidor y el
nombre de la base de datos
2- Obtener la conexión
• Caso mysql
String url = "jdbc:mysql://localhost/NombreBaseDatos";
String usr = "UsuarioBaseDatos";
String psw = "ClaveBaseDatos";
try {
Connection con = DriverManager.getConnection(url,usr,psw);
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
3- Crear comandos SQL
• Una vez creada la conexión a la base de datos,
podemos crear sentencias SQL utilizando la
interfaz Statement que nos provee métodos para
realizar dichas tareas.
• Sintaxis
Statement stmt = con.createStatement ();
4- Ejecutar comandos SQL
• Una vez creada la sentencia SQL necesario
ejecutar a través de dos métodos:
Menos sentencia
SELECT
▫ executeUpdate DML + DDL (retorna nro. registros
afectados)
▫ executeQuery SELECT (retorna objeto ResultSet con
un conjunto de registros)
5- Procesar los resultados
• Sintaxis caso sentencia SELECT
String query = "select * from producto";
ResultSet rt = stmt.executeQuery(query);
• Sintaxis caso DML+DDL
String query = "update producto set descripcion=‘ Silla’
where id_prod=34";
Int rt = stmt.executeUpdate(query);
5- Procesar los resultados
• El objeto del tipo ResultSet controla la
recuperación de los registros de la consulta
SELECT:
• Para recorrer los registros recuperados
utilizaremos los métodos next() y previus(),
los cuales nos permitirán desplazarnos por el
conjunto de tuplas.
• Inicialmente el objeto rt se encuentra apuntando
al primer registro, del conjunto de tuplas.
5- Procesar los resultados
• Para acceder a cada columna de las tuplas
podemos acceder de dos alternativas :
rt.getString(nombre_columna) //según nombre columna
rt.getString(1)
//según posición columna
• El acceso por posiciones es útil cuando:
▫ Acceso a una columna derivada, por ejemplo el
promedio
▫ Cuando hay columnas con el mismo nombre (por
un join)
5- Procesar los resultados
• Sentencia ejemplo, recorrer un ResultSet:
while (rt.next())
{
System.out.println("Cod. Producto="+rt.getString("id_prod"));
System.out.println(«Des. Producto="+rt.getString(" descripcion "));
}
6- Liberar recursos
• Sentencia ejemplo, recorrer un ResultSet:
while (rt.next())
{
System.out.println("Cod. Producto="+rt.getString("id_prod"));
System.out.println(«Des. Producto="+rt.getString(" descripcion "));
}
Cargar algunos driver JDBC
Referencias
• JDBC
http://www.javasamples.com/showtutorial.php?tutorialid=624
• Driver JDBC
http://www.sql-workbench.net/manual/jdbcsetup.html
• Driver oficiales JDBC
http://devapp.sun.com/product/jdbc/drivers