Javabasico III JDBC
Javabasico III JDBC
JDBC
Independencia de la BD
Pasos de JDBC
Cargar el driver
Para poder acceder a la base de datos...
Ejemplo:
Conexión a Bases de Datos
Creación de sentencias SQL...
Utilización de executeUpdate.
Utilizamos este método con sentencias SQL que modifiquen la definición de la base de datos
(sentencias DDL = Data Definition language) o los datos (DML = Data Manipulation Language
diferentes de SELECT):
Creación de tablas.
Eliminación de tablas.
Actualización de tablas.
Inserción, borrado y actualización de datos.
Para sentencias que no supongan una modificación de los datos:
executeQuery.
SELECT.
Conexión a Bases de Datos
Añadir datos a una tabla:
Se utiliza el objeto Statement con su método executeUpdate(SentenciaSQL).
updateSales.setInt(1, 75);
updateSales.setString(2, "Colombian");
Ejemplo.
PreparedStatement updateSales = con.prepareStatement(
"UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ? ");
updateSales.setInt(1, 75);
updateSales.setString(2, "Colombian");
updateSales.executeUpdate();
Conexión a Bases de Datos
Valores de retorno del método executeUpdate.
updateSales.setInt(1, 50);
updateSales.setString(2, "Espresso");
int n = updateSales.execute Update();
// n = 1 ya que únicamente una línea se ha cambiado.
Conexión a Bases de Datos
import java.sql.*;
public class ConexionBDMySQL_1 {
public static void main(String args[]){
try {
//Cargar clase de controlador de base de datos
Class.forName(” com.mysql.jdbc.Driver”);
while(tabla.next())
System.out.println(tabla.getInt(1)+”\t”+tabla.getString(2));
}
catch(ClassNotFoundException e){ System.out.println(e);
}
catch(SQLException e) { System.out.println(e);
}
catch(Exception e){ System.out.println(e);
}
}
}
Conexión a Bases de Datos
CallableStatement
Los valores de los parámetros IN (de entrada) están establecidos por los métodos setXXX()
heredados de PreparedStatement. Los tipos de todos los parámetros OUT (de salida) deben
ser registrados ejecutando el procedimiento almacenado, sus valores son recuperados
después de la ejecución a través de los métodos getXXX() que provee CallableStatement.
cStmt.registerOutParameter(2, Types.INTEGER);
cStmt.registerOutParameter("inOutParam", Types.INTEGER);
cStmt.setString(1, "abcdefg");
cStmt.setString("inputParameter", "abcdefg");
cStmt.setInt(2, 1);
cStmt.setInt("inOutParam", 1);
Conexión a Bases de Datos
CallableStatement
cStmt.execute();
final ResultSet rs = cStmt.getResultSet();
while (rs.next()) {
...
}
outputValue = cStmt.getInt("inOutParam");
Conexión a Bases de Datos
CallableStatement (Cursor)
callableStatement.executeUpdate();
` while (rs.next()) {
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}