Este documento explica cómo usar JDBC en Java para acceder a bases de datos. JDBC permite el acceso a diferentes bases de datos desde un único programa Java mediante el uso de drivers específicos. Se debe establecer una conexión con la base de datos usando un objeto Connection antes de poder interrogarla y modificarla mediante sentencias SQL. Los resultados de las consultas se almacenan en objetos ResultSet que permiten acceder a los datos devueltos.
JDBC es el API para la ejecución de sentencias SQL. (Como punto de interés JDBC es una marca registrada y no un acrónimo, no obstante a menudo es conocido como “Java Database Connectivity”). Consiste en un conjunto de clases e interfases escritas en el lenguaje de programación Java.
JDBC es acrónimo de java database conectivity,es un API estándar de java que nos permite el acceso a base de datos relacionales como MYSQL,postgres,SQL server ,Oracle; acceso a base de datos relacionales empotradas como: fierebird,sqlite,HSQLDB,etc.
Resumen de Tutorial o Curso de Java JDBC impartido durante el curso 2005-2006, sobre los principios de este lenguaje orientado a objetos y las bases de datos.
JDBC es el API para la ejecución de sentencias SQL. (Como punto de interés JDBC es una marca registrada y no un acrónimo, no obstante a menudo es conocido como “Java Database Connectivity”). Consiste en un conjunto de clases e interfases escritas en el lenguaje de programación Java.
JDBC es acrónimo de java database conectivity,es un API estándar de java que nos permite el acceso a base de datos relacionales como MYSQL,postgres,SQL server ,Oracle; acceso a base de datos relacionales empotradas como: fierebird,sqlite,HSQLDB,etc.
Resumen de Tutorial o Curso de Java JDBC impartido durante el curso 2005-2006, sobre los principios de este lenguaje orientado a objetos y las bases de datos.
Diapositiva con una muy buena introduccion al manejo de bases de datos a través del lenguaje de Programación Java. Contiene además una introducción a Mysql, y además expica muy bien qué es el driver JDBC
Aquí podrás encontrar definición, tipos y ejemplos de jdbc.
Si quieres mas información aquí te dejamos un link de nuestro blog si lo deseas:
https://www.blogger.com/blogger.g?blogID=6264981963759127762#allposts
Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
Diapositiva con una muy buena introduccion al manejo de bases de datos a través del lenguaje de Programación Java. Contiene además una introducción a Mysql, y además expica muy bien qué es el driver JDBC
Aquí podrás encontrar definición, tipos y ejemplos de jdbc.
Si quieres mas información aquí te dejamos un link de nuestro blog si lo deseas:
https://www.blogger.com/blogger.g?blogID=6264981963759127762#allposts
Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
JDBC 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, utilizando el dialecto SQL del modelo de base de datos que se utilice.
1. Java con Base de Datos en un tema muy importante, porque abarca conocimientos generales para el desarrollo de Software, es decir en el caso de conocer poco Java, las explicaciones del texto le permitirán comprender los conceptos que se tratan, especialmente si procede de otro lenguaje como C o C++.
Aquí les dejamos información sobre APLICACIONES espero que les sirva.
Link para mas información:
http://nuevoblogreiliz.blogspot.pe/2018/05/aplicaciones.html
Aquí les dejamos información sobre PROGRAMACIÓN DE APLICACIONES MÓVILES espero que les sirva.
Link para mas información:
http://nuevoblogreiliz.blogspot.pe/2018/05/ano-deldialogo-y-la-reconciliacion.html
Aquí les dejamos información sobre JAVA Y XML espero que les sirva.
Link para mas información:
http://nuevoblogreiliz.blogspot.pe/2018/05/ano-del-dialogo-y-la-reconciliacion.html
Aquí les dejamos información sobre ANDROID STUDIO espero que les sirva.
Link para mas información:
http://nuevoblogreiliz.blogspot.pe/2018/04/android-studio.html
Aquí les dejamos información sobre Prepared statement espero que les sirva.
Link para mas información:
http://nuevobloglizevelin.blogspot.pe/2017/11/ano-del-buen-servicio-al-ciudadano.html
Aquí les dejamos información sobre control jtable con BD espero que les sirva.
Link para mas información:
http://nuevobloglizevelin.blogspot.pe/2017/11/control-jtable-con-base-de-datos.html
Aquí les dejamos información sobre result set espero que les sirva de algo.
Link para mas información:
http://nuevobloglizevelin.blogspot.pe/2017/11/result-set.html
Aquí podrás encontrar definición, métodos, propiedades y ejemplos sobre OBJETO SQLCOMMAND.
Si quieren informarse mas sobre OBJETO COMMAND, visita mi blog aquí dejo un link:
http://bloggerlisevelinvasquez.blogspot.pe/2017/07/objeto-sqlcommand.html
Aquí podrás encontrar definición, propiedades, métodos y ejemplos sobre objeto connection.
Si quieren informarse mas sobre OBJETO CONNECTION, visita mi blog aquí les dejo un link:
http://bloggerlisevelinvasquez.blogspot.pe/2017/06/objeto-connection.html
Aqui podras encontrar definición, clases, delegados, enumeraciones, y resumen sobre Espacio de nombres System.Data.SQLClient.
Si quieren informarse mas sobre Espacio de nombres System.Data.SQLClient, visita mi blog aquí les dejo un link:
http://bloggerlisevelinvasquez.blogspot.pe/2017/06/espacio-de-nombre-systemdatasqlclient.html
Proyecto de Investigación sobre ADO.NET:
Definición, Arquitectura, Dataset, Clases de ADO.NET, EJEMPLOS.
Si quieren informarse mas sobre ADO.NET, visita mi blog aquí les dejo un link:
http://bloggerlisevelinvasquez.blogspot.pe/2017/05/ano-del-buen-servicio-alciudadano.html
Trabajo de investigación sobre el Gestor de Base de Datos, Componentes, Lenguaje de Modulación, Sistema de Gestor de Base de Datos(SGBD) y características de cada gestor.
Si quieren informarse mas sobre Gestor de Base de Datos, visita mi blog aquí les dejo un link:
http://bloggerlisevelinvasquez.blogspot.pe/2017/05/gestor-de-base-de-datos.html
Trabajo de investigación
Si quieren informarse mas sobre la Programación Orientada a Objetos, visita mi blog aquí les dejo un link:
http://bloggerlisevelinvasquez.blogspot.pe/2017/04/programacion-orientada-objetos.html
Aquí encontraremos definición, características, comandos, etc. sobre base de datos en SQL.
Espero que les sirva y sea de mucha ayuda para todos. GRACIAS.
La Unidad Eudista de Espiritualidad se complace en poner a su disposición el siguiente Triduo Eudista, que tiene como propósito ofrecer tres breves meditaciones sobre Jesucristo Sumo y Eterno Sacerdote, el Sagrado Corazón de Jesús y el Inmaculado Corazón de María. En cada día encuentran una oración inicial, una meditación y una oración final.
Presentación de la conferencia sobre la basílica de San Pedro en el Vaticano realizada en el Ateneo Cultural y Mercantil de Onda el jueves 2 de mayo de 2024.
2. DEFINICIÓN
En la mayoría de las aplicaciones que nos vamos a encontrar, aparecerá una
base de datos como fuente de información. JDBC nos va a permitir acceder a
bases de datos (BD) desde Java. Con JDBC no es necesario escribir distintos
programas para distintas BD, sino que un único programa sirve para acceder
a BD de distinta naturaleza. Incluso, podemos acceder a más de una BD de
distinta fuente (Oracle, Access, MySql, etc.) en la misma aplicación. Podemos
pensar en JDBC como el puente entre una base de datos y nuestro programa
Java. Un ejemplo sencillo puede ser un applet que muestra dinámicamente
información contenida en una base de datos. El applet utilizará JDBC para
obtener dichos datos.
3. El esquema a seguir en un programa que use JDBC es el siguiente:
Un programa Java que utilice JDBC primero deberá establecer una conexión con el SGBD.
Para realizar dicha conexión haremos uso de un driver específico para cada SGBD que estemos
utilizando. Una vez establecida la conexión ya podemos interrogar la BD con cualquier
comando SQL (select, update, create, etc.). El resultado de un comando select es un objeto de
la clase ResultSet, que contiene los datos que devuelve la consulta. Disponemos de métodos en
ResultSet para manejar los datos devueltos. También podemos realizar cualquier operación en
SQL (creación de tablas, gestión de usuarios, etc.).
4. Para realizar estas operaciones necesitaremos contar con un SGBD (sistema
gestor de bases de datos) además de un driver específico para poder acceder a
este SGBD. Vamos a utilizar dos SGBD: MySQL (disponible para Windows y Linux,
de libre distribución) y PostGres (sólo para Linux, también de libre distribución).
Drivers de acceso
Los drivers para poder acceder a cada SGBD no forman parte de la distribución de
Java por lo que deberemos obtenerlos por separado. ¿Por qué hacer uso de un
driver?. El principal problema que se nos puede plantear es que cada SGBD
dispone de su propio API (la mayoría propietario), por lo que un cambio en el
SGBD implica una modificación de nuestro código. Si colocamos una capa
intermedia, podemos abstraer la conectividad, de tal forma que nosotros
utilizamos un objeto para la conexión, y el driver se encarga de traducir la llamada
al API. El driver lo suelen distribuir las propias empresas que fabrican el SGBD.
5. Tipos de drivers
Existe un estándar establecido que divide los drivers en cuatro grupos:
■ Tipo 1: Puente JDBC-ODBC. ODBC (Open Database Connectivity) fue creado para
proporcionar una conexión a bases de datos en Microsoft Windows. ODBC permite
acceso a bases de datos desde diferentes lenguajes de programación, tales como
C y Cobol. El puente JDBC-ODBC permite enlazar Java con cualquier base de datos
disponible en ODBC. No se aconseja el uso de este tipo de driver cuando tengamos
que acceder a bases de datos de alto rendimiento, pues las funcionalidades están
limitadas a las que marca ODBC. Cada cliente debe tener instalado el driver. J2SE
incluye este driver en su versión Windows y Solaris.
■ Tipo 2: Parte Java, parte driver nativo. Es una combinación de implementación
Java y API nativo para el acceso a la base de datos. Este tipo de driver es más
rápido que el anterior, pues no se realiza el paso por la capa ODBC. Las llamadas
JDBC se traducen en llamadas específicas del API de la base de datos. Cada
cliente debe tener instalado el driver. Tiene menor rendimiento que los dos
siguientes y no se pueden usar en Internet, ya que necesita el API de forma local.
6. ■ Tipo 3: Servidor intermediario de acceso a base de datos. Este tipo de
driver proporciona una abstracción de la conexión. El cliente se conecta a
los SGBD mediante un componente servidor intermedio, que actúa como
una puerta para múltiples servidores. La ventaja de este tipo de driver es
el nivel de abstracción. El servidor de aplicaciones WebLogic incorpora
este tipo de driver.
■ Tipo 4: Drivers Java. Este es el más directo. La llamada JDBC se traduce
directamente en una llamada de red a la base de datos, sin
intermediarios. Proporcionan mejor rendimiento. La mayoría de SGBD
proporcionan drivers de este tipo.
7. Conexión a la BD
Una vez cargado el driver apropiado para nuestro SGBD deberemos establecer la
conexión con la BD. Para ello utilizaremos el siguiente método:
La conexión a la BD está encapsulada en un objeto Connection. Para su creación
debemos proporcionar la url de la BD y, si la BD está protegida con contraseña, el
login y password para acceder a ella. El formato de la url variará según el driver que
utilicemos. Sin embargo, todas las url tendrán la siguiente forma general:
jdbc:<subprotocolo>:<nombre>, con subprotocolo indicando el tipo de SGBD y con
nombre indicando el nombre de la BD y aportando información adicional para la
conexión.
1
2
Connection con = DriverManager.getConnection(url);
Connection con = DriverManager.getConnection(url, login, password);
8. Objeto Connection
Es el principal objeto utilizado para proporcionar un vínculo entre las bases de datos y
una aplicación en Java. Connection proporciona métodos para manejar el
procesamiento de transacciones, para crear objetos y ejecutar instrucciones SQL, y
para crear objetos para la ejecución de procedimientos almacenados.
Se puede emplear tanto el objeto Driver como el objeto DriverManager para crear un
objeto Connection. Se utiliza el método connect() para el objeto Driver, y el método
getConnection() para el objeto DriverManager.
El objeto Connection proporciona una conexión estática a la base de datos. Esto
significa que hasta que se llame en forma explícita a su método close() para cerrar la
conexión o se destruya el objeto Connection, la conexión a la base de datos
permanecerá activa.
9. La manera más usual de establecer una conexión a una base de datos es invocando el
método getConnection() de la clase DriverManager. A menudo, las bases de datos
están protegidas con nombres de usuario (login) y contraseñas (password) para
restringir el acceso a las mismas. El método getConnection() permite que el nombre
de usuario y la contraseña se pasen también como parámetros.
String usuario = "root";
String contraseña = "123456789";
Connection conn = DriverManager.getConnection(url,usuario,contraseña);
En toda aplicación de bases de datos con MySQL es indispensable poder establecer la
conexión al servidor para posteriormente enviarle las consultas. Los programas en
Java no son la excepción. El siguiente código va a servir para verificar que podemos
establecer una conexión a la base de datos agendita.
11. Objeto Statement
Se usa para enviar sentencias SQL a la base de datos. Actualmente hay tres tipos
de objetos Statement, todos los cuales actúan como contenedores para la
ejecución de sentencias en una conexión dada: Statement, PreparedStatement
que hereda de Statement y CallableStatement que hereda de
PreparedStatement. Estas estàn especializadas para enviar tipos particulares de
sentencias SQL, Un objeto Statement se usa para ejecutar una sentencia SQL
simple sin parámetros. Un objeto PreparedStatement se usa para ejecutar
sentencias SQL precompiladas con o sin parámetros IN; y un objeto
CallableStatement se usa para ejecutar un procedimieno de base de datos
almacenado.
La interfase Statement suminstra métodos básicos para ejecutar sentencias y
devolver resultados. La interfase PreparedStatement añade métodos para
trabajat con los parámetros IN; y la interfase CallableStatement añade métodos
para trabajar con parameters OUT.
12. Creación de objetos Statement
Una vez establecida la conexión con una base de datos particular, esta conexión
puede usarse para enviar sentencias SQL. Un objeto Statement se crea
mediante el método de Connection createStatement, como podemos ver en el
siguiente fragmento de código.
Connection con = DriverManager.getConnection(url, "sunny", "");
Statement stmt = con.createStatement();
La sentencia SQL que será enviada a la base de datos es alimentada como un
argumento a uno de los métodos de ejecución del objeto Statement. Por
ejemplo:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");
Ejecución de sentencias usando objetos Statement.
La interfase Statement nos suministra tres métodos diferentes para ejecutar
sentencias SQL, executeQuery, executeUpdate y execute. El método a usar esta
determinado por el producto de la sentencia SQL.
13. Objeto Resultset
Es la representación en memoria de las tablas de la base de datos en disco, se puede entender
como una tabla virtual, recordar que generalmente todos los procesos que se realizen con la
tabla (insertar registros, eliminar registros, etc) se realizaran realmente contra un resulset y no
provocaran ningun cambio en la tabla fisica en disco, resulset tiene un conjunto de metodos
muy utiles y muy usados para el proceso de los renglones de la tabla virtual.
Ejemplo:
// declarando y creando objetos globales
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
String strcon = "jdbc:mysql://localhost/mibase?user=lauro&password=laurosoto";
// abriendo canal o enlace en su propio try-catch
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
canal=DriverManager.getConnection(strcon);
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};