목록백엔드/myBatis (6)
가희의자기개발블로그
마이바티스 자바 API는 JDBC와 비교해보면 코드를 단순하고 깔끔하게 만든다. 이해하기 쉬워서 유지보수도 쉽다. 1_디렉터리 구조 자바 API를 살펴보기 전에 디렉터리 구조에 대해 전반적으로 이해하는 것이 중요하다. 마이바티스는 매우 유연하고 파일을 사용해서 어떤 것도 할 수 있다. 하지만 프레임워크이기 때문에 선호하는 방법이 있다. 전형적인 애플리 케이션 디렌터리 구조를 살펴보자 /my_application /bin /devlib /lib
동적 SQL엘리먼트들을 JSTL이나 XML기반의 텍스트 프로세서를 사용해 본 사람에게는 친숙할 것이다. 마이바티스의 이전 버전에서는 알고 이해해야 할 엘리먼트가 많았다. 마이바티스의 다른 엘리먼트의 사용을 최대한 제거하기 위해 OGNL기반의 표현식을 가져왔다. 01_ IF 동적 SQL에서 가장 공통적으로 사용되는 것으로 where의 일부로 포함될 수 있다. SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} 이 구문은 선택적으로 문자열 검색 기능을 제공할 것이다. 만약에 title값이 없다면 모든 active 상태의 Blog가 리턴될 것이다. 하지만 title 값이 있다면 그 값과 비슷한 데이터를 찾게 될 것이다. title과 author..
마이바티스의 가장 큰 장점은 매핑구문이다. SQL Map XML 파일은 상대적으로 간단하다. 더군다나 동일한 기능의 JDBC 코드와 비교하면 95퍼센트 이상 코드수가 감소하기도 한다. 마이바티스는 SQL을 작성하는데 집중하도록 만들어졌다. 01_SELECT SELECT 구문은 마이바티스에서 가장 흔히 사용할 엘리먼트이다. 데이터베이스에서 데이터를 가져온다. 아마도 대부분의 애플리케이션은 데이터를 수정하기보다는 조회하는 기능이 많다. 그래서 마이바티스는 데이터를 조회하고 그 결과를 매핑하는데 집중하고 있다. 조회는 다음 예제처럼 단순한 경우에는 단순하게 설정된다. SELECT * FROM PERSON WHERE ID =#{id} 이 구문의 이름은 selectPerson이고 int 타입의 파라미터를 가진다...
마이바티스 XML 설정파일은 다양한 설정과 프로퍼티를 가진다. 문서의 구조는 다음과 같다. configuration properties settings typeAliases typeHandlers objectFactory plugins environments environment transactionManager dataSource databaseIdProvider mappers 1. typeAliases 타입 별칭은 자바 타입에 대한 짧은 이름이다. 오직 xml 설정에서만 사용되며, 파이핑을 줄이기 위해 존재한다. 이 설정에서 "member"는 여러군데서 "member.dto.MemberDTO"를 대신 사용할 수 있다. 마이바티스가 빈을 찾도록 패키지를 명시할수 있다. 위 예시는 mapper.xml파일..
1_ 설치 마이바티스를 사용하기 위해 mybatis-xxx.jar파일을 클래스패스에 두어야 한다. 아래 사이트에서 jar파일을 다운받는다. https://blog.mybatis.org The MyBatis Blog A blog about the the MyBatis data mapper framework. blog.mybatis.org Products ->MyBatis3 다운로드 2_ XML에서 SqlSessionFactory 빌드하기 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다. SqlSessionFactory인스턴스는 SqlSessionFactoryBuilder를 사용해 만들 수 있다. SqlSessionFactoryBuilder는 XML설정파일에서 SqlSess..
★ myBatis ORM(Object Relational Mapping) 프레임워크는 데이터베이스와 객체와의 관계를 맵핑시켜 퍼시스턴스 로직 처리를 도와주는 프레임워크이다. 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다. 마이바티스는 데이터베이스 레코드에 원시타입 Map 인터페이스 그리고 자바 POJO를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있다. 대표적으로 iBatis와 hibernate(따로 공부할 것), JPA가 있다 갖고 있는 것을 수정,유지보수 해줄 때는 JPA가 나음 하지만 개발할 경우 myBatis를 추천함. myBatis는 SQL쿼리문, 예외처..