An Interest In:
Web News this Week
- April 27, 2024
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
April 2, 2022 11:50 am GMT
Original Link: https://dev.to/e240683/mybatis-en-tiempos-de-java17-1dcl
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:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To