SPRING FRAMEWORK - EJECUTANDO PROCEDIMIENTOS ALMACENADOS
FUNDAMENTOS
Puedes usar cualquiera de los métodos query de JdbcTemplate o el método update para ejecutar el procedimiento almacenado, teniendo en cuenta si retorna o no un resultado.
Los procedimientos de SQL Server o MySQL pueden retornar directamente el resultado de una consulta utilizando la sentencia SELECT.
También dispones de la clase StoreProcedure donde dispones de opciones de mayor control para la ejecución de procedimientos almacenados.
SINTAXIS
El objetivo es ejecutar procedimientos almacenados que no tengan parametros de salida.
A continuación tienes la sintaxis que debes utilizar.
El procedimiento es para registrar una transacción que ejecuta un retiro de una cuenta.
create or replace procedure usp_egcc_retiro
(p_cuenta varchar2, p_importe number,p_empleado varchar2, p_clave varchar2)
as
v_msg varchar2(1000);
v_saldo number(12,2);
v_moneda char(2);
v_cont number(5,0);
v_estado varchar2(15);
v_costoMov number(12,2);
v_clave varchar2(10);
begin
-- Lee datos de la cuenta
select
dec_cuensaldo, chr_monecodigo, int_cuencontmov,
vch_cuenestado, chr_cuenclave
into v_saldo, v_moneda, v_cont, v_estado, v_clave
from cuenta
where chr_cuencodigo = p_cuenta
for update;
-- Verifica los datos de la cuenta
if v_estado != 'ACTIVO' then
raise_application_error(-20001,'Cuenta no esta activa.');
end if;
if v_clave != p_clave then
raise_application_error(-20001,'Datos incorrectos.');
end if;
-- Costo de operación
select dec_costimporte
into v_costoMov
from costomovimiento
where chr_monecodigo = v_moneda;
-- Verifica el saldo
v_saldo := v_saldo - p_importe - v_costoMov;
if v_saldo < 0.0 then
raise_application_error(-20001,'Saldo insuficiente.');
end if;
-- Actualiza la cuenta
update cuenta
set dec_cuensaldo = v_saldo,
int_cuencontmov = int_cuencontmov + 2
where chr_cuencodigo = p_cuenta;
-- Registra el movimiento de retiro
v_cont := v_cont + 1;
insert into movimiento(chr_cuencodigo,int_movinumero,dtt_movifecha,
chr_emplcodigo,chr_tipocodigo,dec_moviimporte,chr_cuenreferencia)
values(p_cuenta,v_cont,sysdate,p_empleado,'004',p_importe,null);
-- Registra el costo de la operación
v_cont := v_cont + 1;
insert into movimiento(chr_cuencodigo,int_movinumero,dtt_movifecha,
chr_emplcodigo,chr_tipocodigo,dec_moviimporte,chr_cuenreferencia)
values(p_cuenta,v_cont,sysdate,p_empleado,'010',v_costoMov,null);
-- Confirmar la Tx
commit;
exception
when others then
v_msg := sqlerrm; -- capturar mensaje de error
rollback; -- cancelar transacción
raise_application_error(-20001,v_msg);
end;
EJECUCIÓN DEL PROCEDIMIENTO
A continuación tienes el código Java para ejecutar el procedimiento usp_egcc_retiro:
Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de operaciones (instrucciones) que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.
CONFIGURACIÓN DEL CONTEXTO
A continuación tienes un ejemplo de la configuración del contexto.
El framework más utilizados en el desarrollo web con Java EE es sin duda Spring Framework, en este articulo te presento la configuración de los tres principales archivos:
Descriptor de Despliegue: web.xml
Dispatcher Servlet: dispatcher-servlet.xml
Application Context: applicationContext.xml
El ejemplo está desarrollado con la base de datos EUREKABANK que normalmente utilizo en mis cursos.
SQL SERVER ORACLE MYSQL JAVA JDBC MVC DAO PATRONES ANDROID SERVLETS JSP WEB JAVASCRIPT JSON
DESCRIPCIÓN
En este video te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, base de datos MYSQL y Spring Framework.
IMÁGENES DEL APLICATIVO
A continuación te muestro algunas imágenes del aplicativo.
En esta oportunidad estoy haciendo la tercera entrega donde explico como utilizar las anotaciones de Spring Framework para instanciar componentes y realizar las inyecciones de las dependencias.
CODIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
En esta oportunidad estoy haciendo la segunda entrega donde explico como utilizar las anotaciones de Spring Framework para instanciar componentes y realizar las inyecciones de las dependencias.
CODIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
En esta oportunidad estaré explicando como utilizar las anotaciones de Spring Framework para instanciar componentes y realizar las inyecciones de las dependencias.
CODIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
Spring Framework es una plataforma que nos proporciona una infraestructura que actúa de soporte para desarrollar aplicaciones Java Empresariales, está basado en el patrón de diseño Inyección de Dependencia (DI) y la Programación Orientada a Aspectos (AOP).
Spring Framework es un contenedor ligero (“lightweight container”) en contraposición a un servidor de aplicaciones JEE. En el caso de una aplicación web, basta con un contenedor de servlets como Tomcat. Pero Spring no solo se puede usar para crear aplicaciones web, se podría usar para cualquier aplicación java, aunque su uso habitual sea en entornos web, nada impide utilizarlo para cualquier tipo de aplicación.
CODIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
SPRING FRAMEWORK, JAVA SERVER FACES, Eclipse, GlassFish, Java, Java Web, JEE, Patrones, Web, Inyección de Dependencias, STS
INTRODUCCIÓN
Uno de los primeros problemas que debes resolver cuando vas a desarrollar con Spring Framework es el IDE a utilizar, puede ser NetBeans, Eclipse u otro.
Pero Spring te ofrece un Eclipse con todas las opciones para poder empezar a trabajar con Spring Framework de una manera muy fácil, se llama SPRING TOOLS SUITE, conocido también como STS.
STS es un Eclipse con muchas plantillas maven y adaptaciones para que puedas empezar tus proyectos con Spring Framework de manera inmediata y te concentres en la solución que quieras crear.
VIDEO
CODIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
SPRING FRAMEWORK, JAVA SERVER FACES, Eclipse, GlassFish, Java, Java Web, JEE, Patrones, Web, Inyección de Dependencias
INTRODUCCIÓN
Spring Framework está compuesto por una serie de librerías, cada una resuelve un requerimiento puntual del desarrollo de una aplicación empresarial.
Por ejemplo, tenemos Spring MVC que implementa el patrón MVC, Spring JDBC para programar la capa de persistencia, etc.
Spring Framework es una plataforma que nos proporciona una infraestructura que actúa de soporte para desarrollar aplicaciones Java Empresariales, está basado en el patrón de diseño Inyección de Dependencia (DI) y la Programación Orientada a Aspectos (AOP).
Spring Framework es un contenedor ligero (“lightweight container”) en contraposición a un servidor de aplicaciones JEE. En el caso de una aplicación web, basta con un contenedor de servlets como Tomcat. Pero Spring no solo se puede usar para crear aplicaciones web, se podría usar para cualquier aplicación java, aunque su uso habitual sea en entornos web, nada impide utilizarlo para cualquier tipo de aplicación.
CODIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
Spring Framework es una plataforma que nos proporciona una infraestructura que actúa de soporte para desarrollar aplicaciones Java Empresariales, está basado en el patrón de diseño Inyección de Dependencia (DI) y la Programación Orientada a Aspectos (AOP).
Spring Framework es un contenedor ligero (“lightweight container”) en contraposición a un servidor de aplicaciones JEE. En el caso de una aplicación web, basta con un contenedor de servlets como Tomcat. Pero Spring no solo se puede usar para crear aplicaciones web, se podría usar para cualquier aplicación java, aunque su uso habitual sea en entornos web, nada impide utilizarlo para cualquier tipo de aplicación.