Mybatis-plus에서 BaseMapper, IService 및 ServiceImpl을 빠르게 이해

1. 소개

Mybatis-plus(MP)의 사용에 있어서 BaseMapper, IService, ServiceImpl을 주로 사용하는데, 이들은 항상 고양이와 개에 따라 사용되어 왔으며, 셋의 관계는 항상 혼란스러웠다.
이 글에서는 Persistence Layer Mapper와 Business Layer Service의 관점에서 세 가지의 관계와 기본 기능을 소개한다.
마지막으로 예제를 사용하여 컨트롤러 계층에서 프로세스를 진행합니다.
ps: 자세히 살펴보세요. 사실 생각보다 어렵지 않습니다.

2. 지속성 계층 매퍼

1、 베이스매퍼<T>

BaseMapper는 일반 Mapper와 마찬가지로 몇 가지 기본 CRUD 방법을 주로 통합합니다.

여기에 이미지 설명 삽입

2. 매퍼 레이어의 관계도

여기에 이미지 설명 삽입

3. 비즈니스 레이어 서비스

1、I서비스<T>

IService는 주로 일반 서비스 인터페이스와 동일한 일부 공통 서비스 방법을 통합합니다.

여기에 이미지 설명 삽입

2、ServiceImpl<M은 BaseMapper<T>, T>를 확장합니다.

ServiceImpl은 주로 IService의 구현 클래스이며 들어오는 매개변수는 M과 T입니다.
M: 매퍼 인터페이스 유형, T: 해당 엔터티 클래스의 유형
설명: <M extends BaseMapper< T >, T>는 ServiceImpl에서 유형을 정의하는 데 주로 사용되며, 상위 및 하위 경계의 한계입니다. 일반 유형, M(Mapper)에 전달된 첫 번째 매개변수가 BaseMapper<T>에서 상속되고 다른 매개변수가 일반 T인지 확인합니다.

예제
위 그림에서 IService<T>에 저장한 메소드와 같이 구현 메소드를 클릭하여 ServiceImpl을 입력하면 아래 그림과 같습니다.

M baseMapper가 ServiceImpl에 도입되고 그 안의 save 메소드가 최종적으로 baseMapper.insert(entity)를 실행하는 것을 볼 수 있습니다.

그러면 이 삽입 방법은 처음에 첫 번째 그림과 같이 BaseMapper<T>의 방법입니다.

여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

3. 서비스 계층의 관계도

여기에 이미지 설명 삽입

넷째, 제어 계층 컨트롤러

위에서 우리는 Mybatis-plus의 다양한 파일과 주요 기능 간의 관계를 완전히 이해했습니다.
마지막으로 여기에서 Controller 계층부터 시작하여 그 사용 프로세스를 철저히 이해하고 그림에 주요 내용을 작성했습니다.
여기에 이미지 설명 삽입
결국 이 그림을 그리게 된 이유는 예전에는 다 이해했지만 그래도 오랜만에 돌아와서 이해해야 하는데 아직 주로 사용하고 있어서 이 그림을 그렸는데 금방 이해가 되네요. 내가 그것을 잊을 때.
ps: 그림 전체가 투명합니다.

Guess you like

Origin blog.csdn.net/weixin_42516475/article/details/130115388