본문 바로가기

Spring/Spring

1122 Spring - MyBatis

728x90
반응형

https://mybatis.org/mybatis-3/ko/sqlmap-xml.html

 

MyBatis – 마이바티스 3 | 매퍼 XML 파일

Mapper XML 파일 마이바티스의 가장 큰 장점은 매핑구문이다. 이건 간혹 마법을 부리는 것처럼 보일 수 있다. SQL Map XML 파일은 상대적으로 간단하다. 더군다나 동일한 기능의 JDBC 코드와 비교하면

mybatis.org

 

 프로젝트 구성

1) Presentation Layer : UI 계층에 필요한 정보들을 구성 (웹/모바일)
2) Business Logic Layer (Service Layer) : 서비스 계층, 고객의 요구사항을 처리하는 영역
3) Data Access Layer (Persistence Layer) : 데이터  처리 담당하는 계층 DAO 
4) DB

 

JSP - MVC 
요청 > 컨트롤러 > 모델 > DAO (DB)
  |    
     



SPRING - MVC 
요청 > 컨트롤러 > 서비스 >  DAO > SessionTemplate(주입) MyBatis > 디비연결정보(DataSource)
-설정파일
-sql 저장하는 xml 파일(mapper)
DB 
  |    
   뷰    
Presentation Service Persistence


           
            

마이바티스 ?

마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다.

마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다.

마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO 를 설정해서

매핑하기 위해 XML과 애노테이션을 사용할 수 있다.

 

디비와 연결하기 위한 중간 단계

 

1) 간결한 코드 처리 (try-catch-finally-pstmt-???, resultset-??) 

2) SQL 의 분리 (xml 방식, 어노테이션 방식 

3) Spring 과의 연동이 편리

4) 동적 SQL 제공

     
            
https://mvnrepository.com/

https://mvnrepository.com/artifact/org.mybatis/mybatis/3.4.1

 

 

 

MyBatis 4개 pom.xml에 넣기 

1) MyBatis 3.4.1
2) MyBatis Spring 1.3.0
3) Spring JDBC 5.3.24
4) Spring-test framework 5.3.24

 

 

 

 

 

 

 

 

 

 

 

 

 

pom.xml
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>


<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.24</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.3.24</version>
    <scope>test</scope>
</dependency>

 

 

 

spring-jdbc version, spring-test 수정

<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version }</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${org.springframework-version }</version>
</dependency>

버전 둘다 바꾸고,

spring-test의 scope 지워버리고 저장 누름 

 

 


 

MyBatis-Spring이란? 

연결 다리 같은거 

 

 

728x90
반응형

'Spring > Spring' 카테고리의 다른 글

1206 Spring  (0) 2022.12.06
1205 Spring 컨트롤러 4가지  (0) 2022.12.05
1201 Spring - 회원 정보 조회, 로그인  (0) 2022.12.01
1124 Spring - MyBatis 와 스프링의 연동  (0) 2022.11.24
1121 Spring FrameWork 기초  (0) 2022.11.21