Este documento proporciona una introducción a JDBC y las bases de datos en Java. Explica los conceptos clave como conexiones a bases de datos, ejecución de sentencias SQL, tipos de statements, prepared statements, stored procedures, transacciones y más. También incluye ejemplos de código para establecer conexiones, consultas, inserciones, actualizaciones y eliminaciones de datos.
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
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
HISTORIA DEL JDBC
JDBC existe desde 1996, y fue incluido desde la versión 1.1 de Java Development Kit por JavaSoft, aunque también se hizo disponible para usarse con JDK 1.02. El problema de usar JDBC con el JDK 1.02 es que los usuarios comunes tenían que agregar a su maquina virtual de Java las clases que implementan JDBC, lo cual era muy engorroso y difícil. Es por esto que desde la versión de JDK 1.1, JDBC viene incluido como el paquete java.sql.
Java en un principio era visto como un lenguaje para poner animaciones en Internet, la información que presentaba no era persistente, así que no era apto para aplicaciones de negocios o industriales, que requerían la capacidad de acceder a información almacenada en Sistemas Gestionadores de Bases de Datos (DBMS).
Era además necesario crear una forma sencilla de acceder a bases de datos usando Java, pues de otra manera se dejaría al desarrollador con la tarea de implementar llamadas de bajo nivel al DBMS.
En ese entonces Java era un lenguaje que prometía independencia de plataformas, lo cual lo hacia un ambiente muy atractivo para crear todo tipo de aplicaciones, y el acceso a Base de Datos se convertía cada vez más en una necesidad que un lujo.
La gente en JavaSoft se preguntó como atraer a los programadores y a las empresas a invertir su dinero y su tiempo en JDBC. Es por esto que decidieron crear ventajas competitivas en su producto, mejorando cada vez mas la interface de JDBC para que:
1. Los programadores pudieran sentirse como si usaran solamente Java, permitiéndoles una forma sencilla de uso del DBMS.
2. Los programadores se sintieran en contacto directo con el DBMS y no con un socket o un proceso en cualquier maquina.
3. La comunicación con la base de datos fuera fácil de programar. Esto es, que las empresas que quisieran hacer controladores JDBC para comunicarse con sus productos lo pudieran hacer en forma sencilla.
4. Fuese flexible, para aceptar configuraciones diferentes de conectividad. Osea, que la misma aplicación del desarrollador pudiese acceder a varios DBMS a la vez, tal vez hasta en varios hilos simultáneos.
JDBC vs. ODBC
ODBC (Open DataBase Connectivity: Conectividad abierta de Base de Datos) es la interface para conectarse con BD’s relacionales más usada por los programadores de aplicaciones.
Tal vez nos estemos preguntando porque se desarrolló JDBC si ya existía una interface popular que supuestamente hace lo mismo. La respuesta es que se usa JDBC por diferentes razones:
• ODBC usa una interface escrita en lenguaje de programación C. Por lo tanto hace que no sea portable.
• ODBC se ha de instalar manualmente en cada maquina, en cambio los drivers de JDBC como están escritos en JAVA son automáticamente instalables, portables y seguros.
Hay que decir también, que existen drivers puente entre JDBC-ODBC, los cuales traducen las llamadas de JDBC a ODBC permitiendo comunicarse con distintas BD propietarias
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.
HISTORIA DEL JDBC
JDBC existe desde 1996, y fue incluido desde la versión 1.1 de Java Development Kit por JavaSoft, aunque también se hizo disponible para usarse con JDK 1.02. El problema de usar JDBC con el JDK 1.02 es que los usuarios comunes tenían que agregar a su maquina virtual de Java las clases que implementan JDBC, lo cual era muy engorroso y difícil. Es por esto que desde la versión de JDK 1.1, JDBC viene incluido como el paquete java.sql.
Java en un principio era visto como un lenguaje para poner animaciones en Internet, la información que presentaba no era persistente, así que no era apto para aplicaciones de negocios o industriales, que requerían la capacidad de acceder a información almacenada en Sistemas Gestionadores de Bases de Datos (DBMS).
Era además necesario crear una forma sencilla de acceder a bases de datos usando Java, pues de otra manera se dejaría al desarrollador con la tarea de implementar llamadas de bajo nivel al DBMS.
En ese entonces Java era un lenguaje que prometía independencia de plataformas, lo cual lo hacia un ambiente muy atractivo para crear todo tipo de aplicaciones, y el acceso a Base de Datos se convertía cada vez más en una necesidad que un lujo.
La gente en JavaSoft se preguntó como atraer a los programadores y a las empresas a invertir su dinero y su tiempo en JDBC. Es por esto que decidieron crear ventajas competitivas en su producto, mejorando cada vez mas la interface de JDBC para que:
1. Los programadores pudieran sentirse como si usaran solamente Java, permitiéndoles una forma sencilla de uso del DBMS.
2. Los programadores se sintieran en contacto directo con el DBMS y no con un socket o un proceso en cualquier maquina.
3. La comunicación con la base de datos fuera fácil de programar. Esto es, que las empresas que quisieran hacer controladores JDBC para comunicarse con sus productos lo pudieran hacer en forma sencilla.
4. Fuese flexible, para aceptar configuraciones diferentes de conectividad. Osea, que la misma aplicación del desarrollador pudiese acceder a varios DBMS a la vez, tal vez hasta en varios hilos simultáneos.
JDBC vs. ODBC
ODBC (Open DataBase Connectivity: Conectividad abierta de Base de Datos) es la interface para conectarse con BD’s relacionales más usada por los programadores de aplicaciones.
Tal vez nos estemos preguntando porque se desarrolló JDBC si ya existía una interface popular que supuestamente hace lo mismo. La respuesta es que se usa JDBC por diferentes razones:
• ODBC usa una interface escrita en lenguaje de programación C. Por lo tanto hace que no sea portable.
• ODBC se ha de instalar manualmente en cada maquina, en cambio los drivers de JDBC como están escritos en JAVA son automáticamente instalables, portables y seguros.
Hay que decir también, que existen drivers puente entre JDBC-ODBC, los cuales traducen las llamadas de JDBC a ODBC permitiendo comunicarse con distintas BD propietarias
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.
Archivo de la autoria de Fundación UPC - Paco Orozco - www.eiraworks.com
Tomado con muestra para fines academicos en la Universidad Interamericana de Panama - en la materia de Planeación y Gestión de Redes
Una introducción a los conceptos y las características básicas de la API de persistencia para la plataforma Java, desde un punto de vista neutral (sin una preferencia por algún proveedor de persistencia en particular) comenzando desde el planteo de la necesidad de un ORM, y pasando luego por conceptos básicos como las relaciones entre entidades, ciclo de vida de las mismas, JPQL, criteria API.
Esta presentación muestra como aplicar el patrón MVC en el desarrollo de aplicaciones Java usando las librerías gráficas Swing.
Todo el código está escrito siguiendo un enfoque estricto de legibilidad que permita claridad y entendimiento para comodidad del lector.
0412 - 517 37 13
ignacio_345@hotmail.com
Venezuela - Yaracuy - San Felipe - Marín
Existe una manera de crear sentencias SQL una vez y usarla cada vez que quiera correrla
Esto se logra a través de preparedstatement de JDBC
Esta interfaz permite construir las sentencias SQL requeridas una vez y ejecutarlas cualquier número de veces en la aplicación
Cuando un objeto preparedstatement es creado, la sentencia SQL se da como argumento
La sentencia SQL debe ser enviada al DBMS inmediatamente donde es compilada una vez
Charla para Python Madrid, Septiembre de 2017.
En esta charla citaremos las ventajas de Serverless y nos centraremos en las situaciones en las que podemos introducirlo dentro de nuestros proyectos Python. Utilizaremos AWS Lambda para los ejemplos.
Vídeo de la charla en https://youtu.be/BPJI2zApuug
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Alan Turing Vida o biografía resumida como presentación
Bases de Datos en Java - Intro a JDBC
1. Bases de Datos en JAVA
Introducción a JDBC
Carlos Hernando Carasol
chernando@acm.org
10 de Mayo de 2011
2. Índice de contenidos
Motivación del uso de Bases de Datos
Introducción a JDBC
Conexiones
Ejecución de sentencias SQL
Secuencias especiales
Transacciones
4. Enterprise Edition
Tratamiento de mayor cantidad de datos
Optimización para almacenamiento
Optimización para recuperación
Optimización para manipulación
Arquitectura Cliente / Servidor
Concentrar la lógica de negocio
Data independence
7. Tipos de Drivers JDBC
Type 1: JDBC-ODBC Bridge driver
(Bridge)
Type 2: Native-API/partly Java driver
(Native)
Type 3: AllJava/Net-protocol driver
(Middleware)
Type 4: All Java/Native-protocol driver
(Pure)
10. Cargando el Driver a mano
Necesario en versiones antiguas
Hay que cargar el driver a mano:
Class.forName(“nombre del driver”)
11. DriverManager
This fully implemented class connects an
application to a data source, which is
specif ed by a database URL. When this
i
class f rst attempts to establish a
i
connection, it automatically loads any JDBC
4.0 drivers found within the class path. Note
that your application must manually load any
JDBC drivers prior to version 4.0.
13. Definición de origen de datos
jdbc:mysql://localhost:3306/test?opcion=1
jdbc:
mysql: dialecto
localhost: dirección o IP del servidor
test: nombre de la base de datos
opicion=1: opciones adicionales
14. DataSource
This interface is preferred over
DriverManager because it allows details
about the underlying data source to be
transparent to your application. A
DataSource object's properties are set so
that it represents a particular data source.
15. Ejemplo de DataSource
ctx = new InitialContext();
DataSource ds =
(DataSource)ctx.lookup("jdbc/fastCoffeeDB"
);
Connection con = ds.getConnection(
"myLogin",
"myPassword");
17. Ejercicio
Establecer conexión con la base de datos
Probar los diferentes errores
Usuario/contraseña incorrecto
Base de datos incorrecto
Servidor/puerto incorrecto
Sin el driver disponible
…
20. Tipos de Statement
Para consultas: executeQuery
Para modif caciones: executeUpdate
i
Para ambos: execute
Especiales
Llamadas a procedimientos almacenados
Prepared statement
Batch
23. Ejercicio
Conectarse a la base de datos de sakila
Seleccionar todos los paises de la tabla
country
Por cada f la devuelta imprimir por salida
i
estándar números consecutivos
24. ResultSet
Devuelve todas las f las seleccionadas
i
Desconoce el número de columnas y
contenido hasta la ejecución
25. ResultSet MetaData
ResulSetMetaData
ResultSetMetaData rsm = rs.getMetaData();
for (int i = 1; i < rsm.getColumnCount() +
1; i++) {
System.out.println(rsm.getColumnName(i));
System.out.println(rsm.getColumnTypeName(i
));
}
27. Obtener campos
Normalmente sabremos los datos que
queremos obtener de la base de datos
Utilizamos:
GetTipo(nombre)
GetTipo(posicion)
Tipo es en tipo Java.
28. Ejercicio
Mostrar todas las f las con el formato:
i
ID: valor
Atributo1: valor1; Atributo2: valor2...
de la tabla “actor”
29. Tipos de datos
CHAR String BINARY byte[]
VARCHAR String VARBINARY byte[]
LONGVARCHAR String LONGVARBINARY byte[]
NUMERIC java.math.BigDecimal DATE java.sql.Date
DECIMAL java.math.BigDecimal TIME java.sql.Time
BIT boolean TIMESTAMP java.sql.Timestamp
CLOB Clob
BOOLEAN boolean
BLOB Blob
TINYINT byte
ARRAY Array
SMALLINT short
DISTINCT mapping of underlying type
INTEGER int
STRUCT Struct
BIGINT long
REF Ref
REAL f oat
l DATALINK java.net.URL
FLOAT double JAVA_OBJECT underlying Java class
DOUBLE double
32. Insertar contenidos
Statement stmt = null;
try {
stmt = con.createStatement();
stmt.executeUpdate("insert into prueba …");
} catch (SQLException e) {
// TODO!
} f nally {
i
if (stmt != null) { stmt.close(); }
}
33. Ejercicio
Insertar un actor
Elegir un país de country
Cambiar todas las ciudades de city que referencien
al pais elegido por otro
Eliminar el país de country
En todas las operaciones mostrar el
número de i las afectadas
f
34. Tipos de Statement
Execute
Mezcla de los anteriores
Utilizado para consultas en tiempo de
ejecución
Devuelve un boolean
GetResultSet()
GetUpdateCount()
35. Ejercicio
Preparar una método ejecutarQuery
Si hay resultados mostrar los campos y valores
Si hay modif caciones mostrar su número
i
Ejecutar el método con
Una consulta tipo SELECT
Una tipo UPDATE
(podéis pedir la consulta por entrada estándar)
36. Prepared Statements
Se utilizan cuando vamos a ejecutar la
misma consulta varias veces
Queremos que la base de datos se
prepare y optimice la consulta
37. Ejemplo de Prepared Statements
PreparedStatement updateSales =
con.prepareStatement("update " + dbName
+ ".COFFEES " + "set TOTAL = TOTAL + ?
where COF_NAME = ?");
38. Lanzando un Prepared Statements
// Fijo los parámetros
updateSales.setInt(1, 100);
updateSales.setString(2, “Franpuchino”);
// Lanzo la consulta
updateSales.executeUpdate();
39. Ejercicio
Preparar una consulta (puede ser update)
Ejecutarla dos veces con parámetros
diferentes
57. Ejercicio
Utilizar el código del otro caso como base
Proporcionar para las entidades:
Listado
Creación y actualización de registros
Eliminar un registro
Listado de las vistas
Llamada al procedimiento
“tarea_notif cada”
i
58. Ejercicio cont.
Crear un Prepared Statement para una de
las vistas
Insertar múltiples tareas de una vez
Fijar la fecha de las tareas un día tras otro
por persona
Cambiar la ejecución de una tarea,
reasignarla a otra persona y si esa
persona ya tiene otra tarea para la misma
fecha límite cancelar toda la operación.