본문 바로가기

Programming

db query mapper

예전 회사내에서 사용하고 있던 db를 mybatis 와 같이 쓰고자 해서 c# 으로 만들었던 db api 이다.





1. QueryPool - 사용자가 만든 쿼리 xml 파일들을 namespace 별로 load 해서 map으로 가지고 있다.

2. DBManager

1) query : QueryPool 에서 쿼리를 가져오고, 사용자가 파라미터로 넘긴 data와 db 필드를 매핑시켜서 실제 수행할 쿼리를 만든다.


2) connection : connection 을 가져온다. 트랜잭션을 사용하는 쿼리냐 아니냐에 따라 내부적으로 다른 객체를 사용한다.


3) execute : 쿼리를 수행한다. select 쿼리면 DBSelectCommand 을 사용하고, update 쿼리면 DBUpserCommand 을 사용한다.


3. DBSelectCommand<T,U>

T : input parameter 정보

U : output mapping class (QueryResultSet<U>를 통해 사용자가 정의한 클래스로 데이터가 자동으로 들어가게 된다.)