JDBC
Definición Java Database Conectivity El acceso a bases de datos JDBC implica abrir una conexión ejecutar comandos SQL en un sentencia procesar los datos devueltos cerrar la conexión con la base de datos.
Drivers JDBC La conexión con la base de datos está manejada por la clase Driver JDBC. El SDK de Java contiene sólo un driver JDBC, un puente jdbc-odbc que comunica con un driver "Open DataBase Conectivity" (ODBC) existente. Otras bases de datos necesitan un driver JDBC específico para esa base de datos.
Puente jdbcodbc El puente jdbc-odbc acepta URLS que empiecen con jdbc:odbc: y usa el siguiente campo de ese URL para especificar el nombre de la fuente de los datos. Este nombre identifica el esquema de la base de datos particular a la que queremos acceder.
Puente jdbc-odbc Class.forName("sun.jdbc.odbc.JdbcOdbcD river"); //access the ejbdemo tables String url = "jdbc:odbc:ejbdemo"; Para que ésta conexión funcione debemos crear una fuente de datos odbc de sistema llamada ejbdemo que tenga acceso a la base de datos que queremos usar
String url = "jdbc:mysql://localhost/ejbdemo?user=u ser; password=pass";
Conexión a la base de datos Una conexión con una base de datos puede establecerese con un llamada al método DriverManager.getConnection. Connection con = DriverManager.getConnection(url); Connection con = DriverManager.getConnection(url, "user", "password");
Conexión a la base de datos Después de establecer la conexión, se puede ejecutar una sentencia contra la base de datos. Los resultados de la sentencias pueden recuperarse y cerrarse la conexión
Sentencias Hay tres tipos básicos de sentencias SQL usadas en el API JDBC: CallableStatement: stored procedures Statement: sentencias DML PreparedStatement. Sentencias con parámetros.(stored procedures) Cuando se envía una sentencias Statement o PreparedStatement a la base de datos, el driver la traduce a un formato que la base de datos pueda reconocer.
Hoja de resultados: ResultSet El interface ResultSet maneja accesos a datos devueltos por una consulta. Los datos devueltos son igual a una línea de la base de la tabla de la base de datos. Algunas consultas devuelven una línea, mientras que muchas consultas devuelven múltiples líneas de datos.
Statement stmt = con.createStatement(); ResultSet results = stmt.executeQuery( "SELECT TEXT FROM dba "); while(results.next()){ String s = results.getString("TEXT"); displayText.append(s + "\n"); } stmt.close();