Diferencia entre revisiones de «Usuario:ManuelRomero/jdbc»

De WikiEducator
Saltar a: navegación, buscar
(Conectar con la BD)
Línea 50: Línea 50:
 
  <source lang=java>
 
  <source lang=java>
 
   Statement  instruccion = con.createStatement();
 
   Statement  instruccion = con.createStatement();
 +
</source>
 
//Podemos pasar como parámetro al construcctor como queremos que sea el resultSet que ejecute la consulta p.e si las modificaciones que hagamos
 
//Podemos pasar como parámetro al construcctor como queremos que sea el resultSet que ejecute la consulta p.e si las modificaciones que hagamos
 
que se realicen ad-hoc en la BD
 
que se realicen ad-hoc en la BD
Línea 55: Línea 56:
 
{|class="wikitable"
 
{|class="wikitable"
 
|+DIFERENTES MODOS DE USAR RESULTSET
 
|+DIFERENTES MODOS DE USAR RESULTSET
!TIPOS DE RESULTSET!DESCRIPCION
+
!TIPOS DE RESULTSET!!DESCRIPCION
 
|-
 
|-
 
| TYPE_FORWARD_ONLY||Sólo se puede recorrer hacia adelante y no es sensible a cambios en base de datos.
 
| TYPE_FORWARD_ONLY||Sólo se puede recorrer hacia adelante y no es sensible a cambios en base de datos.
Línea 63: Línea 64:
 
|TYPE_SCROLL_SENSITIVE||Tiene desplazamiento (adelante/atrás) y es sensible a cambios en base de datos.
 
|TYPE_SCROLL_SENSITIVE||Tiene desplazamiento (adelante/atrás) y es sensible a cambios en base de datos.
 
|}
 
|}
</source>
+
 
 
ResultSet ==> Un cursor formado for un conjunto de filas fruto del resultado de una consutla a una base de datos
 
ResultSet ==> Un cursor formado for un conjunto de filas fruto del resultado de una consutla a una base de datos
 
  <source lang=java>
 
  <source lang=java>

Revisión de 12:27 2 may 2012

JDBC

  • Como ya tenemos claro el concepto vamos a utilizarlo
  • JDBC es una parte del API de SDK de java
  • JDBC Es una especificación de un conjunto de clases y métodos que permiten acceder desde un programa JAVA a una base de datos
  • Gracias a este API, y una vez que tenemos conexión con la base de datos gestionar la base de datos como si lo hiciéremos desde el propio gestor.
JDBC hace posible estas tres cosas
Establece una conexión con la base de datos.
Envía sentencias SQL
Procesa los resultados.

jdbc1.png

  • Para conectar a una BBDD necesitamos un driver


Icon define.gif

Definición

Este software que normalmente lo facilitará el fabricante, nos va a permitir establecer una conexión para poder manipular la base de datos


  • Es la misma idea que si compramos un hardware y el fabricante me facilita el driver para poderlo usar en mi sistem
  • Una vez que tengo el driver Las clases con sus métodos que me permite gestionar la base de datos , están bajo el paquete java.sql

Clase conexion

Ejemplo a realizar

  1. concectarnos a una base de datos llamada concesionario
  2. propietario de la base de datos manolo sin pass
  3. ip de la máquina donde está el gestor de la base de datos (será dhcp, ponerlo en la pizarra)

Se trata de hacer un interfaz gráfico que nos permita ir navegando por los diferentes registros de la tabla clientes La tabla tiene 5 campos

Debemos realizar el diagrama de clases y la implementación, funcionando

Nota recordatorias

Acciones a realizar
Primero cargar el driver

http://dev.mysql.com/downloads/connector/j/5.0.html



Icon qmark.gif

Pregunta

Donde debemos ubicarlo


Tres posibilidades:
Poníendolo en DIR_HOME_JAVA/lib/ext/ (Problema SF montado en sólo lectura para nuestro sistema)
Incluyéndolo en le CLASSPATH
Añadiéndolo al directorio de nuestro proyecto (esta será nuestra opción)

Conectar con la BD

Cargamos el driver

 //El nombre de cada driver depende de la BD con la que nos conectamos
 //Consultar información en la página oficial del gestor de BD
 String Driver "com.mysql.jdbc.Driver";  	
 Class.forName(Driver);

Existen tres clases fundamentales para una aplicación básica Connection ==> Conexión

 String BD = "jdbc:mysql://localhost/concesionario" //Notación normalizada para identificar a una base de datos 
 String usuario = "manolo";
 String pass ="";
 Connection con = DriverManager.getConnection(BaseDatos,usuario,pass);

Statement ==> Una instruccion y orden que queremos enviar a una base de datos p.e. una sentencia SQL

  Statement  instruccion = con.createStatement();

//Podemos pasar como parámetro al construcctor como queremos que sea el resultSet que ejecute la consulta p.e si las modificaciones que hagamos que se realicen ad-hoc en la BD

DIFERENTES MODOS DE USAR RESULTSET
TIPOS DE RESULTSET DESCRIPCION
TYPE_FORWARD_ONLY Sólo se puede recorrer hacia adelante y no es sensible a cambios en base de datos.
TYPE_SCROLL_INSENSITIVE Tiene desplazamiento (adelante/atrás), pero es insensible a cambios en base de datos.
TYPE_SCROLL_SENSITIVE Tiene desplazamiento (adelante/atrás) y es sensible a cambios en base de datos.

ResultSet ==> Un cursor formado for un conjunto de filas fruto del resultado de una consutla a una base de datos

 String consulta = "select * from clientes"
 ResultSet rtdo = instruccion.executeQuery(consulta);


  • implementaremos una clase para conectarnos a una base de datos