buscador

Visita

Mostrando las entradas con la etiqueta sentencias sql en Java. Mostrar todas las entradas
Mostrando las entradas con la etiqueta sentencias sql en Java. Mostrar todas las entradas

lunes, 30 de mayo de 2022

馃搷Practica 10: 馃懆‍馃捇 Listar, Insertar, Actualizar y Eliminar, en Java y MySQL Server 8.0.29 (CRUD) con el IDE Apache Netbeans 12.5

Bienvenidos al Capitulo que nos reune el dia de hoy en el Blog, veamos como realizar el proyecto que se propone en el titulo de la publicaci贸n.

Objetivo del Proyecto:

  • Crear una aplicaci贸n Java.
  • Conectar la aplicacion Java con la DB MYSQL Server.
  • La aplicaci贸n tiene que realizar las siguientes consultas:
    •         Listar Datos de una tabla de la DB.
    •         Insertar datos tabla de la DB.
    •         Actualizar datos de la Tabla de la DB.
    •         Eliminar datos de una fila de la TABLA de la DB.

Todo lo Realizaremos desde consola utilizando la clase Scanner, veamos un poco de teoria de las clases que utilizaremos y que tenemos que importar para que el proyecto funcione correctamente.

Utilizaremos las clases que se menciona a continuaci贸n:

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.

PreparedStatement: El objeto PreparedStatement proporciona varios m茅todos para establecer par谩metros.

DriverManager: Gestiona el conjunto de controladores Java Database Connectivity (JDBC) que est谩n disponibles para que los utilice una aplicaci贸n. Las aplicaciones pueden utilizar varios controladores JDBC simult谩neamente si es necesario.

SQLException:Es una ampliaci贸n de java. lang. Exception y proporciona informaci贸n adicional relacionada con las anomal铆as que se producen en un contexto de base de datos.

Statement :El objeto Statement (sentencia) sirve para procesar una sentencia SQL est谩tica y obtener los resultados producidos por ella. Solo puede haber un ResultSet abierto para cada objeto Statement en un momento dado.

ResultSet :Un ResultSet contiene todas las filas que satisfacen las condiciones de una sentencia SQL y proporciona el acceso a los datos de estas filas mediante un conjunto de m茅todos get que permiten el acceso a las diferentes columnas de la filas. El m茅todo ResultSet.etc...

Scanner :Es una clase que nos permite obtener la entrada de datos primitivos desde consola del IDE.

Listo una vez que conocemos para que sirve cada clase objeto, lo que realizaremos es primero crear una BASE DE DATOS en MYSQL WORKBENCH.

Crear la DB en MYSQL WORKBENCH.

1.-Seleccionar como indica la flecha de la imagen, saldra una ventana donde tenemos que poner el nombre de la base de datos, y en charset tenemos que escoger UTF8 y collation tenemos que escoger utf8_spanish2, luego presionamos el boton aplicar y  por ultimo ejecutar. en la Pesta帽a Schema tiene que aparecer nuestra base de datos.


Crear la tabla en MYSQL WORKBENCH.

2.-Ir a schema y a la base de datos que creamos, luego hacemos clic derecho e indicamos create table, luego nos saldra como la imagen, indicar el nombre de la tabla, el tipo de datos UTF8 para caracteres especiales, luego los nombres de las columnas, el iduser es autoincrementable y los restos de columnas son de tipo de datos tambien de utf8, luego presionar aplicar y ejecutar.


Nota: MYSQL ahora acepta como metodo de autentificaci贸n coaching_sha2_password cambiar a mysql_native_password, que es el metodo de autentificaci贸n antigua.

Una vez creado la Base de datos y la Tabla, ahora tenemos que ir a la parte del desarrollo pero antes tenemos que descargar la libreria que nos ayudara a conectarnos a la base de datos.
Ir a la pagina que me menciona a continuaci贸n y descargar la libreria jar.
Luego obtenido la libreria lo que tenemos que hacer es crear un proyecto en el IDE Apache Netbeans 12.5, luego agregar la libreria al proyecto.

Una vez en el proyecto tenemos a la clase main que se creo con el proyecto, primero tenemos que hacer es conectarnos a la base de datos, para ello tenemos las siguientes lineas de codigo.

Importar las librerias que utilizaremos.
Declaramos los objetos de conexion, y las variables:
Clase completa de la conexion con la db desde Java.
Con eso tenemos la conexion a la base de datos, ahora implementamos mas lineas de codigo, que muestre un menu, en consola para que atra vez de la clase scanner lo recojamos ese valor que el usuario ingrese, veamos en codigo.
Al ejecutar el proyecto tenemos el siguiente resultado mostrado en consola.
Luego creamos un switch y consultamos si seleccion es 1,2,3 y 4, si segun sea el n煤mero que ejecute un metodo.
Por ejemplo:
    • Si el usuario ingresa el valor 1: entonces que el sisteme tiene que listar los datos de la tabla con el select.
    • Si el usuario ingresa  el valor 2: entonces el sistema ejecute el metodo insertar y que atra vez de consola el sistema solicite los datos por ejemplo nombre, correo, telefono, el id no lo solicita porque es autoincrementable.
    • Si el usuario ingresa el valor 3: el sistema tiene que ejecutar el metodo modificar o actualizar, si este metodo se ejecuta que solicite primero el id del usuario a modificar, luego que solicite el nombre, correo y telefono para que modifique los cambos de ese Id.
    • Si el usuario ingresa el valor 4: entonces el sistema solicitara el id del usuario a eliminar.

Luego tenemos que declaras algunas variables y objetos para manejar sentencias sql y las variables que emplearemos:
    • Ahora desarrollamos los metodos como listar, crear , modificar y eliminar.
Metodo listar:
Metodo insertar :


Metodo modificar :
Metodo eliminar :
La clase main completa para este proyecto termina de la siguiente manera como el adjunto:

Al ejecutar el proyecto tendremos el siguiente resultado:
Al selecionar el 1 entonces el sistema muestra los valores de nuestra tabla.


Si indicamos 2 que es crear nuevo usuario, entonces el sistema solicitar谩 los valores como nombre, correo, telefono, el id de usuario no solicita porque es autoincrementable.

Si indicamos el valor 3 entonces el sistema solicita primero el id del usuario a modificar sus datos, luego recien solicitara nombre, correo y telefono, luego muestra un mensaje que se modifico y me lista nuevamente los datos de la tabla.

Si escogemos 4 entonces el sistema solicitara el id del usuario a eliminar, leugo indica un mensaje que se elimino el id y muestra la tabla.


Descargar el codigo Fuente del Proyecto↗

No olviden compartir el contenido del Blog, escribiendo.................馃槂

domingo, 29 de mayo de 2022

馃搷Practica 08: 馃懆‍馃捇 Java Database Conectivity

Bienvendos al Blog, en esta oportunidad desarrollaremos acerca de JDBC en Java, tenemos que conocer sobre que es JDBC, y que nos permite realizar en Java.

¿Que es JDBC en Java?

JDBC es un API est谩ndar de JAVA el cual permite la conectividad entre la base de datos y el lenguaje de programaci贸n JAVANos permite realizar conecciones a la base de datos, crear sentencias SQL y ejecutarlas en la base de datos. Adem谩s, podemos ver y modificar los resultados que obtengamos productos de la querys que ejecutemos.

JDBC puede ser integrado en diferentes proyectos como Aplicaciones, Applets, Servlets, JSP, EJBs, etc. 


Estructura JDBC en Java.

La arquitectura JDBC normalmente esta compuesta por 2 capas que son las siguientes:

  • JDBC API: Permite la conexi贸n entre la aplicaci贸n y nuestro “Driver Manager” JDBC.
  • Driver JDBC API: Nos provee la conexi贸n entre la aplicaci贸n JDBC y la base de datos.


Componentes JDBC.
Driver Manager: Esta clase administra una lista de “drivers” de base de datos
Enlaza nuestras peticiones de conexi贸n, realizadas por nuestra aplicaci贸n, con la 
base de datos especificada.
Driver: Esta interface establece las comunicaciones con la base de datos.
Connection: Esta interface contiene todos los m茅todos para contactar una base de 
datos. Nos permite crear un objeto para poder establecer una conexi贸n.
Statement: Utilizamos para crear objetos que nos permitan enviar sentencias SQL 
a la base de datos.
ResultSet: Nos permite recuperar la informaci贸n retornada por la base de datos.
SQLExeption: Esta clase contiene los errores ocurridos en la aplicaci贸n con 
conexi贸n a la base de datos.

Sentencias SQL en Java.
  1. Mostrar los datos que contienen una tabla: > Select "NOMBRE DE LA COLUMNA" From "NOMBRE DE LA TABLA";
  2. Insertar Valores en la Tabla >Insert Into "NOMBRE DE LA TABLA" ("NOMBRE DE LA COLUMNA","NOMBRE DE LA COLUMNA",..) values("Valores a Insertar","Valores a Insertar",..);
  3. Modificar Valores de una tabla, segun un identificador de fila: Update "NOMBRE DE LA TABLA" set "NOMBRE DE LA COLUMNA" = "Valores a Insertar" Where "Condicion";
  4. Eliminar una fila de la tabla, segun su identificador de fila : Delete from "NOMBRE DE LA TABLA" where "Condicion";
JDBC Statement 
Una vez creado un objeto “Statement”, podemos realizer 3 tipos de “executes”:
  • boolean execute (String SQL): Devuelve un valor boolean “true” si un objeto ResultSet puede ser recuperado; de lo contrario, devuelve “false”. Utilizamos este m茅todo para ejecutar sentencias SQL DDL o cuando se necesita utilizar SQL din谩mico.
  • int executeUpdate (String SQL): Devuelve el n煤mero de filas afectadas por la ejecuci贸n de la sentencia SQL. Utilizamos este m茅todo para ejecutar sentencias SQL para los que se espera obtener un n煤mero de filas afectadas; por ejemplo, un INSERT, UPDATE o DELETE.
  • ResultSet executeQuery (String SQL): Devuelve un objeto ResultSet. Utilizamos este m茅todo cuando se espera obtener un conjunto de resultados, como lo har铆a con una sentencia SELECT.
JDBC ResultSet
Los m茅todos que ofrece la Clase ResultSet son los siguientes:
  • createStatement(int RSTipo, int RSConcurrecia);
  • prepareStatement(String SQL, int RSTipo, int RSConcurrencia);
  • prepareCall(String sql, int RSTipo, int RSConcurrencia);
Tipos de Resulset:

  • ResultSet.TYPE_FORWARD_ONLY: el cursor solo puede ir hacia adelante.
  • ResultSet.TYPE_SCROLL_INSENSITIVE: El cursor puede desplazarse hacia adelante y hacia atr谩s, y el conjunto de ResultSetx no es sensible a los cambios realizados, por otros, en la base de datos que se produzcan despu茅s de que el conjunto ResultSet fueran creados.
  • ResultSet.TYPE_SCROLL_SENSITIVE: El cursor puede desplazarse hacia adelante y hacia atr谩s, y el conjunto de ResultSets es sensible a los cambios realizados, por otros, en la base de datos que se producen despu茅s de que el conjunto de ResultSet fueran creados.

Si no especificamos alg煤n tipo de concurrencia, esta siempre ser谩 CONCUR_READ_ONLY.

ResultSet.CONCUR_READ_ONLY: Crea un ResultSet de solo lectura.

ResultSet.CONCUR_UPDATABLE: Crea un ResultSet que se puede modificar.

JDBC drivers mas Utilizados

Veamos dos ejemplo de conexion de base de datos en la siguiente publicaci贸n.

馃搷Practica 09: 馃懆‍馃捇Java Conexi贸n de Base de Datos - MYSQL & ORACLE

Raul Tamani A. ©. Im谩genes del tema de fpm. Con tecnolog铆a de Blogger.

Adblock Detectado

Apoya este sitio desactivando el Adblock para seguir navegando. ¡Gracias!

¡Ya Desactive el Adblock!