본문 바로가기
주절주절

ibatis와 mybatis의 이유

by coie 2021. 2. 21.

주말 동안은 아무래도 개인적인 공부하는 시간으로 정했기 때문에

정확한 개념들 위주로 공부를 하고 있는데

지금까지 가장 애매했던 게 결국 ibatis와 my batis의 차이이다.

 

먼저 ibatis가 나오게 된 이유는

 

public sql()  throws Exception{

    String sql = "select * from employee ";
    
    Connection conn      = null;
    PreparedStatement ps = null;
    ResultSet rs       = null;
    
    try {      
      Context ctx = new InitialContext();
      DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB"(DataSource) ctx.lookup("java:comp/env/jdbc/TestDB"); 
      conn = ds.getConnection();
      ps = conn.prepareStatement(sql);
      rs = ps.executeQuery();

위와 같이 작업하던 자바를 

 

mapper에서 sql문을 작성 후

dao와 service로 구현을 하는 것,

즉 저 코드 양이 확 줄어든 것이다.

또한, 재사용성을 생각하여도 바티스쪽이 더 좋다.

그리고 ibatis에서 mybatis로 넘어간 것은

아파치 프로젝트에서 구글로 넘어가면서 이름이 바뀌고

요구하는 jdk버전, 패키지 구조, namespace, sqlmap, xml의 구조 등이 바뀌었다.

그리고 @어노테이션을 이용한다는 것이다.

 

ibatis를 사용한 적이 없어서 사소한 명령어 차이만 있다고 이해를 하다가

어노테이션의 차이를 듣고 찾아본 결과

원래는 sqlmapclient  DI설정을 해야 했으나

mybatis로 넘어오면서 sqlSessionFactory, sqlSesstionTemplate로 바뀌었다는 것이다.

 

또한 ibatis에서는 mapper에서 사용되는 쿼리들이 다양했으나

그 수가 많이 줄어든 점 이 있다.

 

즉 결론은

 

ibatis를 사용하게 된 것은,

자바의 jdbc의 코드 양을 확 줄이게 되면서

개발자들이 sql 쿼리문 하나와 연결하는 것만 신경 쓰게 되었다는 점.

 

그리고 ibatis와 mybatis의 차이는

itbatis는 apache project에서 만들었고 mybatis는 구글

그리고 jdk버전과 패키지 구조도 바뀌었고

어노테이션 , sqlmapper, mapper에서 사용되는 다양한 쿼리들에 변화가 있다.

'주절주절' 카테고리의 다른 글

자바의 추상화 클래스와 인터페이스  (0) 2021.02.27
자바스크립트 오류  (0) 2021.02.23
이건 뭐지....  (0) 2021.02.18
ajax 중  (0) 2021.02.18
오늘부터  (0) 2021.02.01