빵구의 개발 메꾸기

전자정부 프레임워크 샘플 코드 분석 (iBatis, MyBatis) 본문

BACK-END/SPRING

전자정부 프레임워크 샘플 코드 분석 (iBatis, MyBatis)

bkjo94 2022. 4. 26. 20:10

전자정부 프레임워크 프로젝트 생성 시 샘플 코드를 포함시킨 상태로 생성하는 경우 샘플 코드에 대한 파일이 자동으로 구성된다.

iBatis framework와 MyBatis framework를 활용하기 위해서는 어떻게 설정해야 하는지 알아보자.

 

 

<iBatis framework>

① SampleDAO는 service에서 보낸 데이터를 받고 DB에 보낼 쿼리가 담겨있는 xml 파일로 보내준다.

② xml 파일의 id와 매핑이 되어야 하는 queryId를 파라미터로 셋팅해주고 CRUD 중 용도에 맞게 메서드를 호출한다.

③ EgovSample_Sample_SQL.xml 파일이 두개지만 sample 폴더 하위에 있는 파일이 iBatis에 해당하는 파일이다.

④ SampleDAO의 insert("sampleDAO.insertSample")에 대해 받은 VO 데이터를 연결 된 DB에 쿼리를 보내기 위해서는

    insert 태그를 열고 id 속성에 sampleDAO.insertSample를 매핑시키고 받은 VO 데이터는 #과 #사이에 SampleVO의

    property 명을 넣어준다.

⑤ iBatis는 sql-map-config.xml 파일에서 iBatis 쿼리가 들어있는 xml 파일들의 package 경로를 잡아줘야 한다.

⑥ 작성한 iBatis 쿼리가 들어있는 EgovSample_Sample_SQL.xml의 package 경로를 sql-map-config.xml 파일의

    sqlMap 태그에 등록해줘야 한다.

⑦ context-sqlMap.xml 파일에서 id가 sqlMapClient인 bean의 property에 ibatis의 설정 파일인 sql-map-config.xml의

    package 경로를 잡아준다.

 

 

 

<MyBatis framework>

① SampleMapper는 service에서 보낸 데이터를 받고 DB에 보낼 쿼리가 담겨있는 xml 파일로 보내준다.

② 메서드명인 insertSample은 xml 파일의 id 속성과 매핑이 된다. (vo는 parameterType 속성과 매핑)

③ EgovSample_Sample_SQL.xml 파일이 두개지만 mappers 폴더 하위에 있는 파일이 MyBatis에 해당하는 파일이다.

④ SampleMapper의 insertSample 메서드에 대해 받은 VO 데이터를 연결 된 DB에 쿼리를 보내기 위해서는 

    insert 태그를 열고 id 속성에 SampleMapper의 메서드 이름인 insertSample를 매핑시키고 받은 VO 데이터는

    parameterType 속성에 SampleVO를 넣는다.

    쿼리에서 받은 파라미터를 넣기 위해서는 #{}에 SampleVO의 property 명을 넣어준다.

⑤ sql-mapper-config.xml은 MyBatis 설정파일이다. 

    DB 접속 정보나 Mapping 파일의 경로 등 설정 정보를 관리한다.

⑥ context-mapper.xml 파일에서 id가 sqlSession인 bean의 property에 MyBatis의 설정 파일인 sql-mapper-config.xml

    package 경로를 잡아주고 DB에 보낼 쿼리가 담겨있는 xml 파일들이 위치한 package 경로를 잡아준다. 

 

 

 

① 전자정부 프레임워크의 샘플프로젝트는 메모리 DB를 사용하기 때문에 서버를 올릴 때 sampledb.sql 파일을

    읽어서 실행시키고 그 안에서 데이터에 대해 지우거나 수정을 하는 등 변화가 생겨도 서버를 내렸다 올리면

    다시 원래 상태로 돌아온다.

Comments