RDB
-
DB 인터페이스 분리개발/java 2024. 10. 28. 17:41
RDB , SNOWFLAKE , Athena 등 DB를 다양하게 사용하는 경우가 있을 수가 있다. 예를 들어 큰 DB를 읽어 오는데 부담 될때 특정 조건에 따라 RDB -> SnowFlake나 S3로 적재된 Athena를 콜 하는 방식말이다 이 경우 Mybatis를 사용하는 개발자들은 각각의 DB 정보를 이용해 Config를 등록하며 이를 mybatis sqlSessionFactory에 연결한 후 이를 특정 어노테이션을 붙이면 해당 method를 mapper.xml에 있는 method를 연결하도록 구현을 할 것 이다 예를 들어 @Athena , @Snow 라는 애노테이션을 인터페이스에 연결만 한다면 Mybatis로 연동하는 방식이다 예를 들면 @Configuration@RequiredArgsConst..
-
mybatis로 jpa 흉내내기개발/java 2024. 9. 3. 13:18
mybatis의 경우 jdbc를 통해 코드와 db를 혼합하여 작성하는 방식에서 둘을 분리하게 구현함으로써 유지 보수 및 개발을 함에 있어 간편하고 쉽게 만들었다 그 이후 JPA가 도입됨에 따라 DB table에 따라 구현하는 방식이 서비스를 구현하는 것이 아닌 실 서비스를 세분화하여 ORM에 좀 더 다가갈 수 있게 되었다 그러나 특정 이유로 JPA를 사용하지 못하는 경우 mybatis에서 제공하는 new SQL() 과 ProviderMethodResolver를 통해서 별도 쿼리 작성 없이 동적으로 만들 수 있는 방법이 있다. import org.apache.ibatis.builder.annotation.ProviderMethodResolver;//mybatis 인터페이스 ProviderMethodRe..