Sie sind auf Seite 1von 25

Es el acrnimo

Connectivity.

de

Java

DataBase

Es un API (Interfaz de Programacin de


Aplicaciones) dentro del lenguaje Java
para el acceso a bases de datos.
Consiste en un conjunto de clases e
interfaces escritos en Java que ofrecen
un completo API para la interaccin con
bases de datos.

Es una especificacin formada por


una coleccin de interfaces y
clases abstractas, que deben
implementar todos los fabricantes
de drivers que quieran realizar una
implementacin de su driver 100%
Java y compatible con JDBC.

Se encuentra en el paquete java.sql.*


Las libreras que requiere son:
import
import
import
import

java.sql.Connection;
java.sql.DriverManager;
java.sql.SQLException;
java.sql.Statement;

1.
2.
3.
4.

5.

Registrar el driver (una sola vez).


Establecer la conexin.
Ejecutar sentencias SQL.
Procesar el resultado (si las
sentencias SQL del paso 3
devolvieran datos).
Cerrar conexin.

Son Las implementaciones del API


JDBC que los proveedores de bases
de
datos
han
realizado,
generalmente es un archivo JAR
que contiene las clases que
implementan
las
interfaces
necesarias.

Tipo
Tipo
Tipo
Tipo

1:
2:
3:
4:

JDBC-ODBC Bridge.
Native-API partly-Java.
JDBC-Net pure Java.
Native-Protocol pure Java.

MySql: com.mysql.jdbc.Driver
AS400:
com.ibm.as400.access.AS400JDBCDriv
er
Oracle: oracle.jdbc.driver.Oracle
Apache Derby:
org.apache.derby.jdbc.EmbeddedDriver

SQL Server:
com.microsoft.sqlserver.jdbc.SQLSer
verDriver

El Driver Manager lleva el control de los


drivers JDBC cargados en memoria.
Es el encargado de realizar las
conexiones con la base de datos.
Para cargar un driver se utiliza el
mtodo esttico forName(driver);
Por ejemplo :

Class.forName
(" com.microsoft.sqlserver.jdbc.SQLServerDriver
")

public boolean registrarJDBC(String


driver)
{
try{
Class.forName(driver);
return true;
}catch(ClassNotFoundException ex){
return false;
}
}

Se instancia un objeto de la clase Connection.


El objeto es instanciado por el Driver Manager
por medio del mtodo esttico getConnection.
Ejemplo:
Connection
con=DriverManager.getConnection(url,us
er,pass)
Url: es el identificador de la Base de Datos.
User: es el usuario con el que se abre la
conexin.
Pass: contrasea del usuario.

En la URL se indica el subprotocolo,


la direccin IP o localhost (en caso
de ser local) y el puerto (por default
1433), as como el nombre de la BD
cuando ya existe. Por ejemplo:
String
URL="jdbc:sqlserver://localhost:143
3;"+"DatabaseName=EjemploBD;";

public Connection realizarConexion(String


url,String user,String pass)
{
try{
Connection con;
con=DriverManager.getConnection(url,user,pass);
return con;
}catch(SQLException ex){
System.out.print("Error: "+e.getMessage());
return null;
}
}

Las URLs JDBC constan de las siguientes partes:


jdbc:<subprotocolo>:<database
locator>
Donde:
jdbc: es el protocolo (siempre es jdbc).
subprotocolo: Especifca el tipo o nombre del
Driver.
database locator: especifica la ubicacin de la
base de datos.

MySQL: jdbc:mysql://localhost/biblioteca
AS400:
jdbc:as400://server/;libraries=dbS1,qsy
s; prompt=false
Oracle:
jdbc:oracle:thin://servidor:1521/ventas

SQL Server
jdbc:sqlserver://localhost:1433;"+"D
atabaseName=control_escolar;

Para ejecutar sentencias SQL es necesario


crear un objeto Statement.
El objeto Statement es instanciado por el
objeto Connection.
El mtodo para instanciar un Statement es:
public Statement
createStatement(tipo,permisos)
Al igual que las conexiones, los Statement
deben ser cerrados cuando ya no se van a
utlizar, el mtodo para cerrar un Statement
es:
public void close()

El mtodo a utilizar depende del tipo de


sentencia SQL que se quiera ejecutar.
Select: se utiliza el mtodo executeQuery(String
sql) el cual devuelve una instancia de
java.sql.ResultSet
Insert, Update y Delete: utilizan el mtodo
executeUpdate(String sql) el cual devuelve un int
con el nmero de filas afectadas.
Create: utiliza el mtodo executeUpdate(String
sql) el cual devuelve un int que siempre vale
cero.

try {
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("select
isbn10,titulo,concat(apellido,'
',nombre)" + ",precio,leguaje from autor, libro
where
autor.autor=libro.autor");
rs.close();
stmt.close();
} catch (SQLException ex) {

System.out.print("Error: "+e.getMessage());
}

Representa el resultado de una


Sentencia SQL.
Almacena los registros devueltos por
la ejecucion de un Select.
Tiene mtodos para:
o Acceder a las filas del resultado.
o Acceder a los valores de cada
columna de la fila seleccionada.

Algunos mtodos de Resultset:


o
o
o

next(): siguiente fila.


previous(): fila anterior.
absolute(): moverse al nmero de fila que se pase
por parmetro.
relative(): desplazarse al nmero de fila que se
indique, a partir de la posicin actual.
getRow(): devuelve el nmero de fila en el que se
encuentre.

El mtodo para acceder al valor de una


columna, depender del tipo de dato.
Las columnas de la tabla se numeran
de izquierda a derecha de 1 a N, de
esta manera es ms fcil indicar al
ResultSet el valor que se desea leer.
Ejemplo:
public TDD getTDD(int columna)
donde TDD es el tipo de dato.

Es necesario cerrar el ResultSet


cuando ya no se va a utilizar. El
mtodo para cerrarlo es:
Public boolean close()

try {
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("select
isbn10,titulo,concat(apellido,' ',nombre)" + ",precio,leguaje
from autor, libro where autor.autor=libro.autor");
while (rs.next()){
System.out.println(rs.getString(1) + ", "+rs.getString(2)+",
+rs.getString(3) + ", $"+ rs.getBigDecimal(4)+ ", "+
rs.getString(5) );
}
rs.close();
stmt.close();
} catch (SQLException ex) {
System.out.print("Error: "+e.getMessage());
}

Cuando se haya terminado de trabajar con


una conexin sta debe ser liberada, dado
que una conexin abierta est utilizando
recursos en el Gestor de la Base de Datos.
Para cerrar una conexin se utiliza el
mtodo
public void close() de la clase Connection.

public void cerrarConexion(Connection


con)
{
try {
con.close();
System.out.println("Conexin cerrada");
} catch (SQLException e) {
System.out.print("Error: "+e.getMessage());
}
}

Das könnte Ihnen auch gefallen