• No se han encontrado resultados

Qué ofrece Autentia Real Business Solutions S.L?

N/A
N/A
Protected

Academic year: 2021

Share "Qué ofrece Autentia Real Business Solutions S.L?"

Copied!
5
0
0

Texto completo

(1)

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B

28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 06

[email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.

Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y

proyectos a medida

Tecnología

Desarrollo

Sistemas

Gran Empresa

Producción

autentia

Certificación o Pruebas Verificación previa

RFP

Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrollo

Piloto

3a

3b

1. Definición de frameworks corporativos.

2. Transferencia de conocimiento de nuevas arquitecturas.

3. Soporte al arranque de proyectos.

4. Auditoría preventiva periódica de calidad.

5. Revisión previa a la certificación de proyectos.

6. Extensión de capacidad de equipos de calidad.

7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas

tecnologías

¿Qué ofrece Autentia Real

Business Solutions S.L?

Para más información visítenos en:

Gestor portales (Liferay)

Gestor de contenidos (Alfresco)

Aplicaciones híbridas

Tareas programadas (Quartz)

Gestor documental (Alfresco)

Inversión de control (Spring)

BPM (jBPM o Bonita)

Generación de informes (JasperReport)

ESB (Open ESB)

Control de autenticación y

acceso (Spring Security)

UDDI

Web Services

Rest Services

Social SSO

SSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces,

HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatis

Motor de búsqueda empresarial (Solr)

ETL (Talend)

Dirección de Proyectos Informáticos.

Metodologías ágiles

Patrones de diseño

TDD

2. Auditoría de código y recomendaciones de mejora

(2)

E-mail: Contraseña:

Inicio Quiénes somos Tutoriales Formación Comparador de salarios Nuestro libro Charlas Más

Deseo registrarme He olvidado mis datos de acceso

Entrar

Estás en:

Inicio Tutoriales Técnicas básicas con Mybatis

Catálogo de servicios Autentia

Últimas Noticias

Crónica del evento de Liferay en Madrid El primer capítulo de Terrakas ya está online Ya ha terminado la CAS 2011, ahora toca pensar cómo me gustaría que fuera la CAS 2012

Restrospectiva, Carrera de las empresas 2011

¿Qué ganan los demás con que tu vayas a una

Share | 0

DESARROLLADO POR:

Rubén Aguilera Díaz-Heredero

Consultor tecnológico de desarrollo de proyectos informáticos.

Ingeniero en Informática, especialidad en Ingeniería del Software

Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación

Somos expertos en Java/J2EE

Ver tutoriales de Rubén Aguilera Díaz-Heredero

Regístrate para votar

Técnicas básicas con Mybatis

0. Índice de contenidos.

1. Entorno 2. Introducción 3. Técnicas básicas. 4. Conclusiones.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

Hardware: Portátil Mac Book Pro 17" (2,6 Ghz Intel Core i7, 8 GB DDR3) Sistema Operativo: Mac OS X Snow Leopard 10.6.4

Spring 3.0.4 Maven 2.2.1

Eclipse 3.6 (Helios) con M2Eclipse y Spring IDE Mybatis 3.0.4

2. Introducción

En un tutorial anterior ya vimos todo lo necesario para configurar un proyecto en Maven para acceder a una base de datos con Spring y Mybatis. Recomiendo seguirlo antes de continuar con este donde vamos a ver una serie de técnicas básicas que podemos realizar con esta librería.

3. Técnicas básicas

En esta ocasión vamos a presentar una serie de técnicas básicas con Mybatis que resuelven problemas comunes en el acceso a datos de una forma limpia y cómoda.

5

Fecha de publicación del tutorial: 2011-11-07

(3)

07/11/11 Técnicas básicas con Mybatis Síguenos a través de: vayas a una conferencia? Histórico de NOTICIAS Últimos Tutoriales CSS3 Media Queries o cómo hacer un diseño adaptativo según el terminal

CSS Browser Selector o cómo olvidarnos de los hacks en CSS

Generar hojas de cálculo con fórmulas mediante Apache POI

Geoposicionamiento Web con HTML5 y Google Maps

Primeros pasos con Spring Web Flow 2

Últimos Tutoriales del Autor

CSS3 Media Queries o cómo hacer un diseño adaptativo según el terminal

CSS Browser Selector o cómo olvidarnos de los hacks en CSS

CAS REST: Cómo logarnos en CAS sin ir a la pantalla de login por defecto

Implementando SSO con CAS: ejemplo práctico Creación de un portlet con Primefaces Últimas ofertas de empleo 2011-09-08 Comercial Ventas -problemas comunes en el acceso a datos de una forma limpia y cómoda.

Devolver el id autonumérico de una inserción

Este es el típico problema que habría que resolver realizando una consulta inmediatamente después de realizar la inserción que es cuando el id se calcula. En Mybatis esto se resuelve con las

propiedades 'useGeneratedKeys' y 'keyProperty'. La primera indica que se utilizan ids generados y la segunda el id de la entidad que va almacenar el id generado. Ejemplo:

view plain print ?

01. <insert id="insert" parameterType="com.autentia.tutoriales.model.Persona" useGenerateKeys="true" keyProperty

02. insert into persona

03. (apellidos,direccion,nombre)

04. values

05. (#{apellidos},#{direccion},#{nombre})

06. </insert>

IMPORTANTE: tenemos que eliminar de la sentencia insert las referencias a la propiedad que es clave, ya que se va a autocalcular.

Creación de sentencias SQL con plantillas para su reutilización

A fin de reducir el código escrito en los XML's, Mybatis proporciona la etiqueta 'sql' que nos permite definir cualquier sentencia SQL para que sea embebida dentro de cualquier otra. Lo veremos mejor en el siguiente ejemplo:

Definimos una sentencia SQL que recupera todas las personas view plain print ?

01. <sql id="selectAllPersonas">

02. select * from Personas p

03. </sql>

Ahora si queremos definir una sentencia que recupere todos los registros sería: view plain print ?

01. <select id="getAllPersonas" resultType="com.autentia.tutoriales.model.Persona">

02. <include refid="selectAllPersonas"/>

03. </select>

Y ahora para implementar el resto de consultas sería tan sencillo como añadir la cláusula WHERE a la plantilla definida. De este modo si queremos recuperar a las personas que tengan un nombre determinado sería:

view plain print ?

01. <select id="getPersonasByNombre" parameterType="String" resultType="com.autentia.tutoriales.model.Persona"

02. <include refid="selectAllPersonas"/> WHERE p.Nombre = #{nombre}

03. </select>

De este modo reducimos considerablemente la cantidad de código SQL y , por consiguiente, el esfuerzo de mantenimiento.

Realizar Dynamic SQL

Otro de los problemas más típicos que nos encontramos es la necesidad de crear consultas dinámicas en base a una serie de parámetros que pueden existir o no, como ocurre cuando implementamos un buscador, por ejemplo. En este caso Mybatis nos proporciona una serie de etiquetas para facilitarnos la tarea. Entre las más importantes están: if, choose y where. Su funcionamiento lo entenderemos mejor con el siguiente ejemplo:

view plain print ?

01. <select id="searchPersonas" parameterType="com.autentia.tutoriales.model.PersonaOrder" resultType="com.autentia.tutoriales.model.Persona"

02. <include refid="selectAllPersonas"/>

03. <where>

04. <choose>

05. <when test="persona.nombre != '%%'">

06. AND p.Nombre like #{persona.nombre}

07. </when>

08. <otherwise>

09. AND p.Nombre = #{persona.nombre}

10. </otherwise>

11. </choose>

(4)

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

IMPULSA

Impulsores

Comunidad

¿Ayuda?

----sin clicks

+

+

+

+

+

+

+

+

0 personas

han traído clicks a esta página

powered by karmacracy Comercial Ventas -MADRID. 2011-09-03 Comercial Ventas -VALENCIA. 2011-08-19 Comercial Compras -ALICANTE. 2011-07-12

Otras Sin catalogar - MADRID.

2011-07-06

Otras Sin catalogar - LUGO.

Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.

Enviar comentario

(Sólo para usuarios registrados)

» Registrate

y accede a esta y otras ventajas

«

Anímate y coméntanos lo que pienses sobre este TUTORIAL:

12. <if test="persona.Apellidos != ''">

13. AND p.Apellidos >= #{persona.apellidos}

14. </if>

15. <if test="persona.direccion != ''">

16. AND p.Direccion like #{persona.direccion}

17. </if>

18. </where>

19. ORDER BY ${nombreColumna} ${direccionOrdenacion}

20. </select>

Nota: El objeto PersonaOrder tiene que contener los campos 'nombreColumna', que almacena un string con el nombre de la columna por el que ordenar y 'direccionOrdenacion' que almacena un string con la dirección de la ordenación que puede ser 'ASC' o 'DESC'. Es muy importante que la sustitución de string se haga con el $ y no con la #. Esto es porque con # Mybatis entiende que es un parámetro de una consulta parametrizada, mientras que, con $ solo realiza la sustitución del string. Además contendra una instancia de la clase Persona llamada 'persona', donde se pasan los parámetros de búsqueda. De ahí, que hagamos referencia a ellos con la notación punto.

4. Conclusiones

Hemos visto una serie de técnicas que nos proporciona Mybatis para resolver problemas cotidianos cuando trabajamos en una librería de acceso a datos. Para otros detalles recomiendo seguir su guía oficial que la podéis encontrar en http://mybatis.googlecode.com/svn/trunk/doc/en/MyBatis-3-User-Guide.pdf

En sucesivos tutoriales seguiremos explicando otras características de esta estupenda librería como la forma de mapear las distintas relaciones entre entidades.

Cualquier duda o sugerencia en la zona de comentarios. Saludos.

C

OMENTARIOS

(5)

Referencias

Documento similar