Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 2, 2022 11:50 am GMT

MyBatis en tiempos de Java 8-17

Podramos considerar a MyBatis, como la versin ligera de Hibernate. El cual se mantiene presente y adaptndose a los cambios de Java, en sus ltimas versiones.

La versin estable corresponde a 3.5.9.

dependencies {    implementation 'org.mybatis:mybatis:3.5.9'    implementation 'com.oracle.database.jdbc:ojdbc8:19.6.0.0'}

Estos son dos ejemplos que bien deberamos usarlos, al utilizar MyBatis en nuestros proyectos.

1) Ya no necesitamos cerrar la sesin de forma explcita. Con
Try-With-Resources (Java7) dejamos esa accin a la JVM.
Y al emplear Local-Variable (Java10), hacemos ms legible el cdigo.

try (var sqlSession = sqlSessionFactory.openSession()) { //.1            MapperRecaudacion mapper = sqlSession.getMapper(MapperRecaudacion.class);            mapper.getTipoCambio3(mapParametros);            vTipoCambio = (BigDecimal)mapParametros.get("nValorTipoCambio");        } catch (Exception e) {            log.error("", e);        }

2) Para construir la sentencia SQL (el ejemplo corresponde a un SP de Oracle), nos valemos de Text Block (Java15).

    @Select(value = """            {call #{nValorTipoCambio, mode=OUT, jdbcType=NUMERIC} :=                 FARMA_UTILITY.OBTIENE_TIPO_CAMBIO3(                    #{cCodGrupoCia_in},#{cCodCia_in},#{cFecCambio_in},#{cTipo})}""") //.2    @Options(statementType = StatementType.CALLABLE)    void getTipoCambio3(Map<String, Object> mapParametros);

3) Adicionalmente, podemos reemplazar el operardor ternario con Optional (Java8).

        //return vTipoCambio == null?0.0:vTipoCambio.doubleValue();        return Optional.ofNullable(vTipoCambio)                .map(BigDecimal::doubleValue)                .orElse(0.0); //.3

Documentacin



Try-With-Resources

JEP 286: Local-Variable Type Inference

JEP 378: Text Blocks

Optional


Original Link: https://dev.to/e240683/mybatis-en-tiempos-de-java17-1dcl

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To