JDBC
UNIVERSIDAD POLITÉCNICA AMAZÓNICA
INTEGRANTES:
- DELGADO BUSTAMANTE CRISTHEL EDITH
- ESPINAL CRUZ HANS
- FLORES SUAREZ MARIO
BAGUA GRANDE 2018
- Capa de Acceso de datos,
creación. Configuración de conexión BD con NetBeans.
En la capa de datos se gestiona el acceso a los datos de la aplicación.
Se emplean gestores de bases de datos que realizan la recuperación y el
almacenamiento físico de los datos a partir de solicitudes de la capa de
negocio.
En esta capa se puede hacer uso de una propiedad denomina da persistencia
de objetos, que permite vincular objetos de bases de datos relacionales a
objetos de lenguajes de programación como Java, para aumentar el nivel de
abstracción y facilitar el acceso a los datos desde la capa de negocio. Existen
varias implementaciones tecnológicas sobre persistencia que deberán emplearse
atendiendo a las necesidades de cada aplicación.
2.Configuración de conexión BD con NetBeans.
· Primero
necesitamos tener instalado en nuestra PC el Netbeans, java y MySQL por
supuesto.
· Descargar el
MySQL Java Conector, descomprimirlo y ubicarlo en una carpeta de fácil
acceso.
· Ahora vamos al
Netbeans y creamos un nuevo proyecto, le ponemos un nombre y seleccionamos para
crear la clase principal por defecto.En mi caso el nombre de mi proyecto es
mysql-con y la clase por defecto que se creo fue MysqlCon.java.
· En el menu de la
derecha del Netbeans buscamos en el arbol de proyectos, seleccionamos el
proyecto actual y vamos a la carpeta de librerías, le damos click derecho y
buscamos el MySQL Java Conector de donde lo guardamos en el paso 2,
seleccionamos el archivo .jar.
· Ahora vamos a
escribir el código de nuestra función de conexión a la base de datos:
1
2
3
4
5
6
7
8
9
10
11
12
|
public static void connect(){
String url = "jdbc:mysql://localhost:3306/myjavaapp1";
String user = "root";
String pass = "";
System.out.println("Conectando...");
try(Connection connection =
DriverManager.getConnection(url, user,pass)){
System.out.println("Conectado!!");
}catch(SQLException e){
System.out.println(e.getMessage());
}
}
|
En tu caso debes
modificar el valor de las variables url, user y password.
La variable url
equivale a la ubicacion del servidor de la base de datos, en este caso en
localhost en el puerto 3306 y despues una diagonal separando el nombre de la
base de datos.
· Crear la base de
datos.
PAra ello debemos
recurrir a una consola de comandos o algun gestor visual como MySQLWordBench o
el mismisimo PHPMyAdmin.
El codigo SQL de la
base de datos en cuestión es el siguiente.
1
2
3
4
5
6
7
8
9
|
create database myjavaapp1;
use myjavaapp1;
create table user(
id int not null auto_increment
primary key,
username varchar(125) unique,
password varchar(125),
created_at datetime
);
|
- Despues de la linea
donde mandamos a imprimir el texto “Conectado!” podemos usar el
codigo siguiente para agregar un usuario:
1
2
3
4
|
System.out.println("Insertando
...");
Statement s =
connection.createStatement();
String query1 = "insert
into user (username,password,created_at) value
(\"user1\",\"mypassword\",NOW())";
s.executeUpdate(query1);
|
Y seguido de ese
podemos usar el siguiente para mostrar o hacer un recorrido de todos los
registros de la tabla user.
1
2
3
|
// vamos a recorrer
String query2 = "select *
from user";
ResultSet r =
s.executeQuery(query2);
|
3. Definición de JDBC. Tipos. Aplicaciones
JDBC es usado para enviar comandos SQL hacia una base de datos
relacional, que puede ser Oracle, Infomix, SyBase, etc. Una integración de SQL
hacia Java, es decir que las sentencias SQL se puedan mezclar con Java, por
ejemplo, que una variable de Java pueda ser usada en una sentencia SQL para
recibir o dar valores.
TIPOS
Los driver JDBC se
clasifican en cuatro tipos o niveles:
- Tipo 1: Puente JDBC-ODBC.
- Tipo 2: Driver API nativo/parte Java.
- Tipo 3: Driver protocolo de red/todo Java.
- Tipo 4: Driver protocolo nativo/todo Java.
APLICACIONES
Tema
|
Descripción
|
Estas aplicaciones
de ejemplo demuestran cómo conectarse a una base de datos de SQL
Server. Además, explican los distintos modos en los que se pueden
recuperar datos de una base de datos de SQL Server.
|
|
Estas aplicaciones
de ejemplo demuestran cómo usar los métodos de tipos de datos del controlador
JDBC para trabajar con los datos de una base de datos de SQL Server.
|
|
Estas aplicaciones
de ejemplo demuestran cómo usar los conjuntos de resultados para procesar los
datos de una base de datos de SQL Server.
|
|
Estas aplicaciones
de ejemplo demuestran cómo usar el almacenamiento en búfer adaptable para
recuperar datos de valores grandes de una base de datos de SQL Serversin
la sobrecarga que suponen los cursores de servidor.
|
|
Esta aplicación de
ejemplo muestra cómo recuperar información de clasificación y detección de
datos contenida en un SQL Server base de datos de un objeto de
conjunto de resultados mediante el controlador JDBC.
|
4.Uso de JDBC en aplicaciones java
Java Database Connectivity, más conocida por sus siglas 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.
El API JDBC se presenta como una colección de interfaces Java y métodos de gestión de
manejadores de conexión hacia cada modelo específico de base de datos. Un
manejador de conexiones hacia un modelo de base de datos en particular es un
conjunto de clases que implementan las interfaces Java y que
utilizan los métodos de registro para declarar los tipos de localizadores a
base de datos (URL) que pueden manejar. Para utilizar una
base de datos particular, el usuario ejecuta su programa junto con la
biblioteca de conexión apropiada al modelo de su base de datos, y accede a ella
estableciendo una conexión; para ello provee el localizador a la base de datos
y los parámetros de conexión específicos. A partir de allí puede realizar
cualquier tipo de tarea con la base de datos a la que tenga permiso: consulta,
actualización, creación, modificación y borrado de tablas, ejecución de procedimientos
almacenados en la base de datos, etc.
5.Ejemplo
Para realizar la
conexión a base de datos desde java necesitamos hacer uso de JDBC. Las bases de
datos que deseemos conectar deberán proveernos el driver JDBC en un empaquetado
JAR para añadirlo a las librerías del proyecto.
Deberemos conseguir
la librería de acuerdo a la versión de la Base de Datos al cual deseemos
conectarnos. Es posible que su IDE reconozca la existencia del driver si la
base de datos ha sido instalada en el mismo ordenador junto con sus librerías,
solo haría falta añadirlo a la lista de librerías que se usarán en el proyecto,
por ejemplo en NetBeans se podría ir al directorio Libraries del Proyecto,
hacer clic derecho sobre el y elegir Add Library y en la lista podría
encontrase la que necesitemos, o si queremos agregarla manualmente Add
JAR/Folder y seleccionar desde la dirección donde lo tenemos almacenado.
Una vez agregada la
librería, vamos a realizar el código de conexión, el cual nos debe presentar
una clase con 2 métodos que a mi parecer no deberían faltar. Debería existir
una función(Las funciones retornan datos) que nos retorne un CachedRowSet que
es algo similar al ResultSet que no podemos retornar mientras el Statement esté
sin cerrar, pero es obvio que por seguridad deberemos tener todas las
conexiones cerradas, por eso no retornamos directamente el almacena todos los registros y podemos manipularla con las
conexiones cerradaResultSet y hacerlo sin cerrar las conexiones sería de muy mala práctica. En cambio, el CachedRowSets, cosa que no podemos hacer con los ResultSets, ya que éstos
necesitan al Statement Abierto, y el Statement a su vez necesita la conexión
abierta. Por otro lado deberíamos tener un procedimiento(No retorna ningún
dato), no retorna nada ya que se encargará de realizar operaciones
unidireccionales.
En conclusión,
usamos la Función cuando usemos Sentencias
DML SELECT incluyendo las Funciones y usar el Procedimiento
cuando usemos INSERT, DELETE O UPDATE, incluyendo los StoreProcedures(Procedimientos
Almacenados); aunque podemos conocer algunas bases de datos que permitan
retornar datos desde StoreProcedures, lo ideal seria hacerlo desde funciones,
manteniendo cada uno para su propósito. Del mismo modo, habrán podido darse
cuenta que ambos métodos reciben una variable String como parámetro, ésta es
nada menos que la Sentencia DML que deseamos ejecutar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
package beastieux.gui;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.sql.rowset.CachedRowSet;
import com.sun.rowset.CachedRowSetImpl;
/**
*
*
@author beastieux
*/
public class Ejm12_ConectarDataBase {
public CachedRowSet Function(String sql)
{
try
{
Class.forName("Driver");
String
url = "jdbc:motor:servidor:puerto/basededatos";
Connection
con = DriverManager.getConnection(url, "usuario","contraseña");
Statement
s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet
rs= s.executeQuery(sql);
CachedRowSet
crs = new CachedRowSetImpl();
crs.populate(rs);
rs.close();
s.close();
con.close();
return crs;
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
return null;
}
public void StoreProcedure(String sql)
{
try
{
Class.forName("Driver");
String
url = "jdbc:motor:servidor:puerto/basededatos";
Connection
con = DriverManager.getConnection(url, "usuario","contraseña");
Statement
s = con.createStatement();
s.execute(sql);
s.close();
con.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
|
Como habrán podido
apreciar en el código, el manejo de excepciones es relativamente sencilla, lo
ideal sería especificar las excepciones por cada conexion, statement y
resultset para de esa manera asegurarnos que permanezcan cerradas al finalizar
la ejecución o aun cuando existieran errores; de igual manera sería muy útil
obligar a cerrar las conexiones desde dentro de una clausula finally anexada al
try – catch.
Por último la url
de conexión “jdbc:motor:servidor:puerto/basededatos”, variará a
continuación de jdbc, según el motor de base de datos al que deseemos
conectarnos (PostgreSQL, MySQL, Oracle, Derby, etc) , la dirección IP del
servidor, el puerto y finalmente el nombre de la base de datos al que queramos
acceder.
En los próximos
posts se presentará las conexiones a las diversas bases de datos y la
explicación de como usar la clase creada.
Código Java – Conexión a Base de Datos PostgreSQL
Código Java – Conexión a Base de Datos MySQL
Código Java – Conexión a Base de Datos Apache Derby (Embebida y Cliente – Servidor)
Código Java – Conexión a Base de Datos MySQL
Código Java – Conexión a Base de Datos Apache Derby (Embebida y Cliente – Servidor)
RESUMEN
Configuración de conexión BD con NetBeans. Primero necesitamos tener
instalado en nuestra PC el Netbeans, java y MySQL por supuesto. · Descargar el
MySQL Java Conector, descomprimirlo y ubicarlo en una carpeta de fácil acceso.
· Ahora vamos al Netbeans y creamos un nuevo proyecto, le ponemos un nombre y
seleccionamos para crear la clase principal por defecto. · En el menu de la
derecha del Netbeans buscamos en el arbol de proyectos, seleccionamos el
proyecto actual y vamos a la carpeta de librerías, le damos click derecho y
buscamos el MySQL Java Conector de donde lo guardamos en el paso 2,
seleccionamos el archivo. String url = "
jdbc:mysql://localhost:3306/myjavaapp1 " ; String user = " root
" ; La variable url equivale a la ubicacion del servidor de la base de
datos, en este caso en localhost en el puerto 3306 y despues una diagonal
separando el nombre de la base de datos. El codigo SQL de la base de datos en
cuestión es el siguiente. create table user ( JDBC es usado para enviar
comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix,
SyBase, etc. Una integración de SQL hacia Java, es decir que las sentencias SQL
se puedan mezclar con Java, por ejemplo, que una variable de Java pueda ser
usada en una sentencia SQL para recibir o dar valores. Los driver JDBC se
clasifican en cuatro tipos o niveles : Tipo 1 : Puente JDBC - ODBC. Estas
aplicaciones de ejemplo demuestran cómo conectarse a una base de datos de SQL
Server. Trabajar con tipos de datos ( JDBC ) Estas aplicaciones de ejemplo
demuestran cómo usar los métodos de tipos de datos del controlador JDBC para
trabajar con los datos de una base de datos de SQL Server. Estas aplicaciones
de ejemplo demuestran cómo usar los conjuntos de resultados para procesar los
datos de una base de datos de SQL Server. Estas aplicaciones de ejemplo
demuestran cómo usar el almacenamiento en búfer adaptable para recuperar datos
de valores grandes de una base de datos de SQL Serversin la sobrecarga que
suponen los cursores de servidor. Clasificación y detección de datos de SQL
Esta aplicación de ejemplo muestra cómo recuperar información de clasificación
y detección de datos contenida en un SQL Server base de datos d.
SUMMARY
Configuration of BD connection with NetBeans. First
we need to have Netbeans, java and MySQL installed on our PC of course. ·
Download the MySQL Java Connector, unzip it and place it in an easily
accessible folder. · Now we go to the Netbeans and create a new project, we put
a name and select it to create the main class by default. · In the menu on the
right of the Netbeans we look in the project tree, select the current project
and go to the library folder, right click it and look for the MySQL Java Connector
where we saved it in step 2, select the file . String url = "jdbc: mysql:
// localhost: 3306 / myjavaapp1"; String user = "root"; The
variable url is equivalent to the location of the database server, in this case
localhost on port 3306 and then a diagonal separating the name of the database.
The SQL code of the database in question is as follows. create table user (JDBC
is used to send SQL commands to a relational database, which can be Oracle,
Infomix, SyBase, etc. An integration of SQL to Java, that is, SQL statements
can be mixed with Java, for example , that a Java variable can be used in an
SQL statement to receive or give values JDBC drivers are classified into four
types or levels: Type 1: JDBC - ODBC Bridge These sample applications demonstrate
how to connect to a database SQL Server: Working with Data Types (JDBC) These
sample applications demonstrate how to use the data type methods of the JDBC
driver to work with data from a SQL Server database. result sets to process
data from a SQL Server database These sample applications demonstrate how to
use adaptive buffering to retrieve data from large values in a SQL database
Serversin the overhead that server cursors pose. Classification and detection
of SQL data This sample application shows how to retrieve classification
information and data detection contained in a SQL Server database d.
RECOMENDACIONES:
·
Los gestores de bases de datos que realizan la recuperación y el
almacenamiento físico de los datos a partir de solicitudes de la capa de
negocio.
·
Se recomienda utilizar los JDBC para enviar
comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix,
SyBase, etc.
· En general, no almacenes imágenes en la
base de datos.
CONCLUSIONES:
·
Se concluye que con esta investigación los estudiantes de sistemas conozcan
acerca de las conexiones que se puede
utilizar para organizar un sistema.
·
Que las bases de datos forman el nucleó de las principales aplicaciones,
sitio web y servicios corporativos. Que en todos los casos hay herramientas de
gestión y control que permiten verificar su funcionamiento y eventualmente
APRECIACIÓN DEL
EQUIPO
·
CRISTHEL DELGADO
Que las bases de datos forman el nucleó de las
principales aplicaciones, sitio web y servicios corporativos. Que en todos los
casos hay herramientas de gestión y control que permiten verificar su
funcionamiento y eventualmente corregirlo.
·
ESPINAL CRUZ
Que el
propósito de una base de datos es responder a consultas y ejecutar
transacciones de datos
GLOSARIO DE PALABRAS
- Interfases:En informática, se utiliza para nombrar a la conexión funcional entre dos sistemas, programas, dispositivos
- Comandos: Es una instrucción u orden que el usuario proporciona a un sistema informático
- SQL:Es un lenguaje específico del dominio utilizado en programación; y diseñado para administrar sistemas de gestión de bases de datos relacionales.
- Driver:Son programas que sirven de intermediarios entre Windows (u otro sistema operativo) y los dispositivos o componentes de hardware del PC.
- Protocolo:Es un sistema de reglas que permiten que dos o más entidades de un sistema de comunicación
- Oracle :es una compañía especializada en el desarrollo de soluciones de nube y locales.
- Servidores:Es una aplicación en ejecución (software) capaz de atender las peticiones de un cliente y devolverle una respuesta en concordancia.
LINKOGRAFIA:
https://evilnapsis.com/2016/03/29/conectar-una-base-de-datos-mysql-con-java-y-netbeans/
https://beastieux.com/2011/01/17/codigo-java-establecer-conexion-a-base-de-datos-con-jdbc/
https://users.dcc.uchile.cl/~lmateu/CC60H/Trabajos/jfernand/
https://www.ibm.com/support/knowledgecenter/es/ssw_ibm_i_61/rzaha/jdbctydr.htm
https://docs.microsoft.com/es-es/sql/connect/jdbc/sample-jdbc-driver-applications?view=sql-server-2017
Comentarios
Publicar un comentario