Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Java
Tabla de Contenidos
Casi todas las aplicaciones necesitan acceder a datos. La gran parte de la data de una organizacin se encuentra almacenada en una DB relacional. Aplicaciones desarrolladas en Java tienen que acceder a
la informacin de la organizacin.
JDBC
Cliente Java
Servidor
DriverManager
getConnection() Connection
OR:
executeQuery()
SELECT SQL command
ResultSet
connection.close()
Connection con = DriverManager.getConnection ("jdbc:odbc:SampleDB","dba","sql"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from table1"); while( rs.next() ) { System.out.print(rs.getString( 1 ) + " " + rs.getString( 2 )); System.out.println(); } 4 con.close();
} }
JDBC Driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
Los drivers JDBC son administrados por la clase DriverManager. Ms de un driver puede ser utilizado. Los drivers son brindados por la BD, no por JDBC. Un driver es cargado dinamicamente mediante el uso del mtodo
Class.forName().
Cuando un driver es cargado, automticamente es instanciado y registrado con el DriverManager. El driver utilizado en el ejemplo es denominado el bridge driver JDBC/ODBC, el cual es brindado por Sun.
Un objeto connection debe ser creado para acceder a la base de datos. A travs del objeto connection se ejecutan los SQL statements y se recuperan los resultados del statement ejecutado. DriverManager.getConnection() es el mtodo utilizado para establecer la
Creando un Statement
Statement stmt = con.createStatement();
Para enviar un comando SQL al servidor de base de datos es necesario crear un objeto Statement. Mediante el uso del mtodo createStatement() creamos un objeto Statement. Existen 3 tipos de Statement:
Statement
Utilizado para sentencias de SQL simples sin envo de parmetros. PreparedStatement (hereda de Statement) Utilizado para sentencias SQL pre-compiladas que reciben parmetro. CallableStatement (hereda de PreparedStatemen) Utilizado para ejecutar stored procedures que reciben parmetros de entrada y de salida.
executeUpdate()
execute()
primera fila.
Es posible acceder a cada columna de las filas de un ResultSet mediante el mtodo getXXX() envindole como parmetro el nmero o el nombre de la columna.
resultados:
Uno o ms resultsets. Uno o ms update counts. Cualquier combinacin de resultsets y update counts. Ser necesario utilizar el mtodo execute(). Devolver mltiples resultsets / update counts es poco comn. Puede suceder cuando:
execute() devuelve un valor true, si un ResultSet es devuelto primero. Para procesar el ResultSet, utilizar el mtodo getResultSet(). Utilizar Statement.getMoreResults() para determinar si hay mas resultsets para procesar, este mtodo devuelve un boolean. Si existe otro ResultSet, continuar utilizando getResultSet(). Sin embargo, si execute() o getResultSet() devuelve false, entonces ser necesario verificar si algn update fue realizado.
La Clase SQLException
SQLException hereda de la clase java.lang.Exception.
Es arrojada cuando ocurre un error. Mltiples SQLExceptions pueden ser arrojadas a la vez: Si muchas excepciones fueran arrojadas, utilizar SQLException.getNextException() para obtener la siguiente excepcin. SQLException provee tres tipos de informacin: SQLState recuperado mediante SQLException.getSQLState().