2018. 4. 6. 15:13ㆍIT개발/iBatis & MyBatis
ibatis -> mybatis 변경 요약
ibatis | Mybatis |
<isEqual prepend="AND" property="searchCondition" compareValue="1"> TEST = #searchCondition# </isEqual> | <if test="searchCondition== 1"> AND TEST = #{searchCondition} </if> |
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" /> | Mybatis-config.xml 파일내에 이동하여 반드시 정의 <configuration> <typeAliases> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" /> </typeAliases> </configuration> |
<sqlMap namespace="SysLogDAO"> </sqlMap> | <mapper namespace="SysLogDAO"> </mapper> |
<resultMap id="SysLogVO"class="egovframework.com.sym.log.lgm.service.SysLog"> | <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> |
parameterClass , resultClass | parameterType , resultMap |
#something# , $something$ | #{something} , ${something} |
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
columnIndex="8“ …. 등으로 검색하여 일괄 삭제하는게 빠름 ( xml파일이 있는 폴더를 지정하여 ex) Ctrl + H => Selected Resources ) | 삭제해야함. 더 이상 안씀 , 아래와 같이 맵핑을 하삼. <result property="userSe" column="userSe"/> |
1. mybatis 문법으로 변환(마이그레이션 도구가 있다고 했는데 그당시 모르고 그냥 노가다로 변경함...ㅠㅠ)
1.1. replace하기(editor plus에서 진행하면 수월)
- 줄끝공백 제거하기
- # -> #{ : No정규식 변환
- #\{$ -> } : 정규식 변환
- #\{\+ -> }\+ : 정규식 변환
- #\{\) -> }\) : 정규식 변환
- #\{ -> } : 정규식 변환(띄어쓰기 있음! 주의)
1.2. 태그변환하기
● isEqual -> if 변경
before |
<isEqual prepend="AND" property="searchCondition" compareValue="1"></isEqual> |
after |
<if test="searchCondition== '1'"></if> |
2. mybatis-config.xml내 설정정보 추가
2.1. typeAlias 옮기기
2.2. mapper resource 정의하기
3. 자바레이어 변경사항
● 추상DAO클래스 의 부모 클래스 변경 (EgovAbstractDAO -> EgovAbstractMapper)
before |
public abstract class EgovComAbstractDAO extends EgovAbstractDAO{ |
after |
public abstract class EgovComAbstractDAO extends EgovAbstractMapper{ |
● 호출 메소드명 변경(selectMap - > selectOne )
before |
public int selectSampleListTotCnt(SampleDefaultVO searchVO) { return (Integer) selectMap("selectSampleListTotCnt", searchVO); } |
after |
public int selectSampleListTotCnt(SampleDefaultVO searchVO) { return (Integer) selectOne("selectSampleListTotCnt", searchVO); } |
● 호출 메소드명 변경(selectByPk - > selectOne )
before |
public BoardMasterVO selectNotUsedBdMstr(BoardMasterVO vo) throws Exception { return selectByPk("BBSAttributeManageDAO.selectNotUsedBdMstr", vo); } |
after |
public BoardMasterVO selectNotUsedBdMstr(BoardMasterVO vo) throws Exception { return selectOne("BBSAttributeManageDAO.selectNotUsedBdMstr", vo); } |
● 호출 메소드명 변경(list - > selectList )
before |
public List<BoardMasterVO> selectNotUsedBdMstrList(BoardMasterVO vo) throws Exception { return (List<BoardMasterVO>) list("BBSAttributeManageDAO.selectNotUsedBdMstrList", vo); } |
after |
public List<BoardMasterVO> selectNotUsedBdMstrList(BoardMasterVO vo) throws Exception { return selectList("BBSAttributeManageDAO.selectNotUsedBdMstrList", vo); } |
참고자료:
https://github.com/mybatis/ibatis2mybatis
http://expert0226.tistory.com/297