3. DEFINICION
Java Database Connectivity, más conocida por sus siglas JDBC,1 2.
es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación
Java,
independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede,
el dialecto SQL del modelo de base de datos que se utilice
4. OBJETOS CONNECTION, STATEMENT Y RESULTSET
La clase Statement es la que permite
realizar todas estas operaciones. La
instanciación de esta clase se realiza
haciendo uso del siguiente método que
proporciona el objeto Connection:
Statement stmt =
con.createStatement();
Podemos dividir las sentencias SQL en dos
grupos: las que actualizan la BD y las que
únicamente la consultan. En las siguientes
secciones veremos cómo podemos realizar
estas dos acciones.
Para obtener datos almacenados en la BD
podemos realizar una consulta SQL (query).
Una vez obtenida la conexión a la BD, podemos utilizarla
para realizar consultas, inserción y/o borrado de datos
de dicha BD. Todas estas operaciones se realizarán
mediante lenguaje SQL.
5. OBJETOS CONNECTION, STATEMENT Y RESULTSET
Podemos ejecutar la consulta utilizando el objeto Statement,
pero ahora haciendo uso del método executeQuery al que le
pasaremos una cadena con la consulta SQL. Los datos
resultantes nos los devolverá como un objetoResultSet.
ResultSet result = stmt.executeQuery(query);
El objeto ResultSet dispone de un cursor que estará
situado en el registro que podemos consultar en cada
momento. Este cursor en un principio estará situado en
una posición anterior al primer registro de la tabla.
Podemos mover el cursor al siguiente registro con el
método next del ResultSet.
6. OBJETOS CONNECTION, STATEMENT Y RESULTSET
El constructor de la clase ConsultaSQL
recibe como parámetro un objeto de
tipo Connection y otro de String; éste
contendrá una sentencia SELECT;
Statement es una interfaz que puede
ejecutar sentencias en lenguaje SQL a
través de una conexión;
su método executeQuery()recibe la
cadena SELECT y devuelve un objeto
de tipo ResultSet, que contiene una
imagen de los datos devueltos por el
servidor MySQL en formato de tabla,
es decir, filas y columnas; además los
ResultSet tienen un apuntador o cursor
que sirve para recorrer los registros de
la tabla; el recorrido se hace con
métodos como next().
7. EJEMPLO
import java.sql.*;
public class connectURL {
public static void main(String[] args) {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;user=UserName;password=*
****";
// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"
);
con = DriverManager.getConnection(connectionUrl);
// Create and execute an SQL statement that returns some
data.
String SQL = "SELECT TOP 10 * FROM Person.Contact";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println(rs.getString(4) + " " + rs.getString(6));
}
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (stmt != null) try { stmt.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}