JDBC TGJ-PBM-RVH
JDBC TGJ-PBM-RVH
Conectivity
•ODBC •PostgreSQL
•Cloudscape •InstantDB
•IDS Server
Fuente: http://www.devx.com/tips/Tip/28818
Programación Java de JDBC:
Incluir librerías:
• Propias la Base de Datos usada.
Ej: MySQL - > mysql-connector-java-5.1.5-bin
• ¿Como?
Jar
• Incluir librería (xxx.jar) dentro del jar.
• Setear “Class-Path” en archivo “MANIFEST.MF”
Ej: Class-Path: mysql-connector-java-5.1.5-bin.jar
Ejecutando .class directamente
• Java ejemploJDBC –classpath lib/mysql-connector-java-5.1.5-bin.jar
Ej: Netbeans
Funcionamiento
Programación Java de JDBC:
Cargar los drivers:
Ej: JDBC-MySQL
• Crea Instancia en DriverManager.
Import java.sql.*;
Class.forName(“com.mysql.jdbc.Driver”);
Programación Java de JDBC:
Establecer la conexión:
Connection con =
DriverManager.getConnection(
String url,
String usuario,
String password};
• Ejemplo de URL
jdbc:mysql:://<host>:<puerto>/<base de
datos>
Programación Java de JDBC:
Otras bases de datos:
• PostgreSQL (>7.0):
Class.forName(“org.postgresql.Driver”)
url = jdbc:postresql://<host>:<port>/<DB>
• ODBC:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
url = jdbc.odbc:<DB>
Programación Java de JDBC:
Ejecución DDL (Data Definition
Language)
• Creación de tablas:
String sentenciaDDL =
“CREATE TABLE EJEMPLO(
campo1 FLOAT,
campo2 VARCHAR(40),
campo3 DATE)”;
• ‘;’ No necesario
Programación Java de JDBC:
Ejecución DDL (Data Definition Language)
• Modificación de Tablas:
Creación statement (solo necesario si no
existe).
Statement st =
con.createStatement();
st.executeUpdate(sentenciaDDL);
Programación Java de JDBC:
Creación de tablas e inserción:
st.executeStatement(query);
Programación Java de JDBC:
Sentencias Query:
• Ver Contenido de Tabla:
Strings:
• (String) getString(String nombreColumna)
• (String) getString(int numeroColumna)
con.setAutoCommit(false);
… varias sentencias…
con.commit();
…con.setAutoCommit(true);
JDBC 2.0:
Nuevas implementaciones: cursores
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_(IN)SENSITIVE,
ResultSet.CONCUR_(READ_ONLY)UPDATABLE);
rs.next();
rs.absolute(int);
rs.relative(int);
(boolean) rs.isFirst();
(boolean) rs.inLast();
(boolean) rs.isAfterLast();
Ver:
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Re
sultSet.html
JDBC 2.0:
Nuevas implementaciones: modificaciones
a tiempo real:
Ver:
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Resul
tSet.html
JDBC 2.0:
Nuevas implementaciones: Actualización
por lotes:
st.addBatch((String)…);
…
(int[]) st.executeBatch();
st.clearBatch();
Referencias:
http://www.unix.com.ua/orelly/java-
ent/jenut/ch02_03.htm
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet
.html
http://www.devx.com/tips/Tip/28818