Upload
others
View
48
Download
0
Embed Size (px)
Citation preview
Ejercicio: Spring JDBC v1
Ejercicio 12SPRING JDBC VERSIÓN 1
Objetivo del Ejercicio
•El objetivo del ejercicio es crear y configurar un proyecto Spring JDBC.
Al finalizar deberemos ver la siguiente salida:
Ejercicio: Spring JDBC v1
Creamos un nuevo proyecto Maven:
Paso 1. Crear un proyecto Maven
Ejercicio: Spring JDBC v1Paso 1. Crear un proyecto Maven (cont)
Filtramos los wizards y escribimos maven, seleccionando un nuevo proyecto Maven
Ejercicio: Spring JDBC v1Paso 1. Crear un proyecto Maven (cont)
Creamos un proyecto simple de Maven
Ejercicio: Spring JDBC v1Paso 1. Crear un proyecto Maven (cont)
Escribimos lossiguientes valores:
Ejercicio: Spring JDBC v1Paso 2. Configuración del Proyecto (cont)
Paso 3. Agregar librerías de Spring
Paso 4. Agregar el archivo log4j
Este archivo lo depositaremos ensrc/main/resourcesagregando el
siguiente contenido:
# Set root logger level to DEBUG and its only appender to A1.log4j.rootLogger=INFO, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Crear el archivo para el manejo de logging llamado log4j.properties
Ejercicio: Spring JDBC v1
Crear el archivo esquema.sql y depositarlo en src/main/resources:
Paso 5. Crear el archivo esquema.sql
Paso 5. Crear el archivo esquema.sql (cont)
Agregar el siguiente contenido al archivo llamado esquema.sql:
drop table if exists persona; CREATE TABLE `persona` (
`id_persona` bigint(20) NOT NULL,`nombre` varchar(50) NOT NULL,`apellido_paterno` varchar(50) NOT NULL,`apellido_materno` varchar(50) DEFAULT NULL,`email` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `persona`ADD PRIMARY KEY (`id_persona`);
Ejercicio: Spring JDBC v1Paso 6. Crear el archivo datos.sql
Crear el archivo datos.sql y depositarlo en src/main/resources:
Paso 6. Crear el archivo datos.sql (cont)
Agregar el siguiente contenido al archivo llamado datos.sql:
insert into persona (nombre, apellido_paterno, email) values ('Admin', 'admin', '[email protected]');
insert into persona (nombre,apellido_paterno, email)values ('Juan', 'Perez', '[email protected]');
insert into persona(nombre,apellido_paterno,email)values ('Juan', 'Rodriguez', '[email protected]');
Paso 7. Creación del bean DataSource
Crear el archivo datasource-test.xml (es de tipo SpringBean Definitionfile) y depositarlo en src/test/resources :
Ejercicio: Spring JDBC v1Paso 7. Creación del bean DataSource (cont)Agregar los namespaces de beans y jdbc al archivo datasource-test.xml:
Paso 7. Creación del bean DataSource (cont)Agregar la definición del bean dataSource al archivo datasource-test.xml:
<bean name="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/springapp" /><property name="username" value="dbuser" /><property name="password" value="dbpass" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><constructor-arg ref="dataSource" />
</bean>
Ejercicio: Spring JDBC v1
Crear la clase JUnit llamada TestJdbc.java y agregar el siguiente código:
package test;import static org.junit.Assert.assertEquals;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory; import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:datasource-test.xml"}) public class TestJdbc {
private static Log logger = LogFactory.getLog("TestJdbc");@AutowiredJdbcTemplate jdbcTemplate;@Testpublic void testJdbc() { logger.info("Inicio
del test Jdbc");int noPersonas = jdbcTemplate.queryForInt("select count(*) from persona"); logger.info("Numero de personas:" + noPersonas);assertEquals(3, noPersonas); logger.info("Fin del test Jdbc");
}}
Paso 8. Crear la clase TestJdbc.java
Ejercicio: Spring JDBC v1
• Ejecutamos la clase TestJdbc.java como una prueba de JUnit y observamos el siguiente resultado:
Paso 9: Ejecutar la Prueba