Sie sind auf Seite 1von 9

Spring Taller

Ejercicio 01
1. Interactuar con el Oracle XE
a. Sqlplus /nolog
b. Mostrar usuario activo
c. Clear screen
2. Cargar los datos:
3. Crear Proyecto: SpringJDBC
a. Simple Spring Maven
4. Interactuar con el Oracle XE
5. Definir el repository
6. Editar el pom.xml
a. Pegar dependencia de oracle

7. Revisar la descarga de las dependencias.

Ing. Wilmer Perfecto Manrique

Sistemas UNI

Spring Taller

Sistemas UNI

Ejercicio 02_1
1. Crear pk: uni.taller.app.test
2. Crear clase main Test01
public class Test01 {
public static void main(String args[]){
// Definir la fuente de datos
DriverManagerDataSource dataSource = new
DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
// Prueba: leer un dato entero
//Numero de Movimientos de la 00200001
String sql = "select count(*) from movimiento where
chr_cuencodigo='00200001'";
int rowCount = jdbcTemplate.queryForObject(sql, Integer.class);
System.out.println("El numero de mov de la cta 00200001 es: " +
rowCount);
}
}
3. Copiar cdigo en el pom
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>

Ing. Wilmer Perfecto Manrique

Spring Taller

Sistemas UNI

4. Ver resultado:

Ejercicio 02_2
// Prueba: leer un dato double
public class Test02 {
public static void main(String[] args) {
// Definir la fuente de datos
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
// Prueba: leer un dato double
String sql = "select dec_moviimporte from movimiento "
+ "where chr_tipocodigo = '001' and chr_cuencodigo='00200001'";
Double saldo = jdbcTemplate.queryForObject(sql, Double.class);
System.out.println("Importe total, mov xx de la cta yy: " + saldo);
}
}
Ejercicio 02_3
// Prueba: leer un dato String
public static void main(String[] args) {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");

JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);


String sql = "select vch_emplpaterno from empleado "
+ "where chr_emplcodigo = ?";
Object[] parms = { "0001" };

Ing. Wilmer Perfecto Manrique

Spring Taller

Sistemas UNI

String nombre = jdbcTemplate.queryForObject(sql, parms, String.class);


System.out.println("Empleado: " + nombre);}
}

Ejercicio 02_4
1. Crear la entidad cliente en el pk domain:
a. Describir tabla:

b. Crear Clase Cliente

2. Crear clase ClienteMapper


a. en el pk mapper:
b. implementa la interface RowMapper

Ing. Wilmer Perfecto Manrique

Spring Taller

Sistemas UNI

3. Crear clase Test


public class Test04 {
public static void main(String[] args) {
// Definir la fuente de datos
DriverManagerDataSource dataSource = new
DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
String sql = "select chr_cliecodigo, vch_cliepaterno, vch_cliematerno, "
+ "vch_clienombre, chr_cliedni, vch_clieciudad, vch_cliedireccion, "
+ "vch_clietelefono, vch_clieemail from cliente where chr_cliecodigo =
?";
Object[] parms = { "00001" };
Cliente bean = jdbcTemplate.queryForObject(sql, parms, new
ClienteMapper());
System.out.println("Nombre: " + bean.getNombre());
System.out.println("Paterno: " + bean.getPaterno());
System.out.println("Materno: " + bean.getMaterno());
}
}
4. Agregar try cach
public class Test04 {
public static void main(String[] args) {
try {
// Definir la fuente de datos
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

Ing. Wilmer Perfecto Manrique

Spring Taller

Sistemas UNI

String sql = "select chr_cliecodigo, vch_cliepaterno, vch_cliematerno, "


+ "vch_clienombre, chr_cliedni, vch_clieciudad, vch_cliedireccion, "
+ "vch_clietelefono, vch_clieemail from cliente where chr_cliecodigo = ?";
Object[] parms = { "00001" };
Cliente bean = jdbcTemplate.queryForObject(sql, parms, new ClienteMapper());
System.out.println("Nombre: " + bean.getNombre());
System.out.println("Paterno: " + bean.getPaterno());
System.out.println("Materno: " + bean.getMaterno());
} catch (EmptyResultDataAccessException e){
System.err.println("Cdigo no existe.");
}
}
}

Ejercicio 02_5
Consultando varios registros de una tabla utilizando RowMaper

Para este ejemplo se debe tener la clase de dominio Empleado y la clase


EmpleadoRowMapper.
1. Crear dominio Empleado
2. Crear EmpleadoMapper
3. Crear clase Test05

// Prueba: listar los registros de una tabla con RowMapper


El resultado se obtiene en una lista de tipo: List<Empleado>.
public class Test05 {
public static void main(String[] args) {
// Definir la fuente de datos
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
// Prueba: listar los registros de una tabla con RowMapper
String sql = "select chr_emplcodigo, vch_emplpaterno, "
+ "vch_emplmaterno, vch_emplnombre, vch_emplciudad, "
+ "vch_empldireccion, vch_emplusuario "
Ing. Wilmer Perfecto Manrique

Spring Taller

Sistemas UNI

+ "from empleado where vch_emplpaterno like ?";


Object[] parms = { "R%" };
List<Empleado> lista = jdbcTemplate.query(sql, parms, new
EmpleadoMapper());
for (Empleado bean : lista) {
System.out.println(bean.getCodigo() + " " + bean.getNombre() + " "
+ bean.getPaterno() + " " + bean.getMaterno());
}
}
}

4. Salida:

Ejercicio 02_6
El resultado se obtiene en una lista del siguiente tipo: List<Map<String,Object>>.

// Prueba: Uso de Map


public class Prueba06 {
public static void main(String[] args) {
// Definir la fuente de datos
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("store");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
String sql = "select m.chr_cuencodigo cuenta, "
+ "sum(case when t.vch_tipoaccion = 'INGRESO' "
+ "then dec_moviimporte else 0.0 end) ingreso, "
+ "sum(case when t.vch_tipoaccion = 'SALIDA' "
+ "then dec_moviimporte else 0.0 end) salida "
+ "from tipomovimiento t "
+ "join movimiento m "
+ "on t.chr_tipocodigo = m.chr_tipocodigo "
+ "where m.chr_cuencodigo = ? "
+ "group by m.chr_cuencodigo";
Object[] parms = { "00100001" };
Map<String,Object> rec;
rec = jdbcTemplate.queryForMap(sql, parms);

Ing. Wilmer Perfecto Manrique

Spring Taller

Sistemas UNI

for (String key: rec.keySet() ) {


System.out.println(key + "\t" + rec.get(key));
}
}
}

Salida:

Ejercicio 2_7
// Prueba: Uso de Map
//"\t" tab
public class Prueba07 {
public static void main(String[] args) {
// Definir la fuente de datos
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
dataSource.setUsername("eureka");
dataSource.setPassword("admin");
// Crear el JdbcTemplate
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
// Prueba: Uso de Map
String sql = "select m.chr_cuencodigo cuenta, "
+ "sum(case when t.vch_tipoaccion = 'INGRESO' "
+ "then dec_moviimporte else 0.0 end) ingreso, "
+ "sum(case when t.vch_tipoaccion = 'SALIDA' "
+ "then dec_moviimporte else 0.0 end) salida "
+ "from tipomovimiento t "
+ "join movimiento m "
+ "on t.chr_tipocodigo = m.chr_tipocodigo "
+ "group by m.chr_cuencodigo";
List<Map<String,Object>> lista;
lista = jdbcTemplate.queryForList(sql);
for (Map<String,Object> rec: lista ) {
System.out.println(rec.get("CUENTA") + "\t" +
rec.get("INGRESO") + "\t" + rec.get("SALIDA"));
}
}

Ing. Wilmer Perfecto Manrique

Spring Taller
}
Salida.

Ing. Wilmer Perfecto Manrique

Sistemas UNI

Das könnte Ihnen auch gefallen