1.Mybatis 플러스 소개
플러스의 MyBatis (MP 약칭)는이다 의 MyBatis , 개발을 단순화 효율성과 건강을 향상시키기 향상 도구, MyBatis로의 기초 강화뿐만 아니라 변화.
MyBatis로 플러스 핵심 기능 : 일반적인 CRUD 코드 생성기 및 생성자의 조건에 대한 지원.
* 일반 침전물 : 좋은 매퍼 인터페이스의 정의는 프로파일과 모든 인터페이스 방법을 쓰지 않고, 공통 CRUD 함수 BaseMapper <T> 인터페이스를 확장하기 만
* 생성자 조건 : EntityWrapper <T> (엔티티 패키징 ), 바느질 SQL 문에 사용할 수 있으며, 그룹화, 쿼리 및 기타 복잡한 SQL 정렬을 지원
* 코드 생성기를 : MyBatis로에 의해 생성 된 코드보다 더 나은 정책 구성 및 글로벌 구성의 범위를 지원합니다
구축 2. 환경
1)의 구성에 의존 메이븐
< 의존성 > < 의존성 > < 의 groupId > org.springframework.boot </ 의 groupId > < artifactId를 > 스프링 부팅 스타터 웹 </ artifactId를 > </ 의존성 > < 의존성 > < 의 groupId > MySQL의 </ 의 groupId > < artifactId를 > MySQL의 커넥터 자바 </ artifactId를 > < 범위 > 런타임 </ 범위 > </의존성 > < 의존성 > < 의 groupId > org.projectlombok </ 의 groupId > < artifactId를 > 람 </ artifactId를 > < 선택 > 진정한 </ 선택 > </ 의존성 > < 의존성 > < 의 groupId > org.springframework.boot </ 의 groupId > < artifactId를 > 스프링 부팅 선발 테스트 </ artifactId를 > <범위 > 테스트 </ 범위 > </ 의존성 > <! - mybatisPlus 핵심 라이브러리 -> < 의존성 > < 의 groupId > com.baomidou </ 의 groupId > < artifactId를 > 의 MyBatis-PLUS-부팅 스타터 </ artifactId를 > < 버전 > 3.1.0 </ 버전 > </ 의존성 > <! -의 도입 알리 데이터베이스 연결 풀 -> < 의존성 > <의 groupId >com.alibaba </ 의 groupId > < artifactId를 > 사제 </ artifactId를 > < 버전 > 1.1 </ 버전 > </ 의존성 > </ 의존성 >
2) 구성 파일 YML
#의 구성 서버 : 포트 : 8081 봄 : # 데이터 소스를 구성하는 데이터 소스를 : 드라이버 클래스 이름 : com.mysql.cj.jdbc.Driver의 URL : JDBC를 : MySQL의 : 사실 useUnicode에 // 로컬 호스트 :? 3306 / wwp_user = & characterEncoding = . 8 UTF의 사용자 이름 : 루트 암호 : 루트 유형 : com.alibaba.druid.pool.DruidDataSource의 # PLUS 관련 MyBatis로 MyBatis로-PLUS는 : 카탈로그 쉼표 나 세미콜론 #의 XML 스캔 복수 (매퍼 XML에게 해당하는 분리 된 파일 위치) 매퍼-사항 : CLASSPATH : 매퍼 / * XML. # 다음과 같은 구성이 기본값이 제공되지 않을 수 있습니다 글로벌-설정 : DB-설정을 : # 기본 키를 입력 AUTO : "데이터베이스 ID 자체 에너자이징"입력 : "사용자 입력 ID "ID_WORKER :"글로벌 고유 ID (고유 한 숫자 ID) ", UUID :"전 세계적으로 고유 한 ID UUID "; ID 타입 :자동차 # 필드 전략은 무시 : "판단을 무시"NOT_NULL : "비 NULL 판단") NOT_EMPTY : "비어 있지 않은 판단" 필드, 전략 -at : not_empty의 # 데이터베이스 유형 MYSQL : 유형 DB-의 구성 : 열 자동으로 명명지도를 고비 여부 # : 데이터베이스에서 유사한 열 이름 매핑 자바의 특성이라는 혹하는 true로 :지도 - 밑줄 - 투 - CAMEL-케이스 매핑이 필드 매핑되지 않는 경우 쿼리 결과 열은 후, MyBatis로를 null 값이 포함 된 경우 #을 호출 족 - 온을 NULLS이 : 참으로 SQL 번호이 구성을 인쇄하기 위해 실행됩니다, 개발하거나 테스트 할 때 로그인 IMPL을 : org.apache.ibatis.logging.stdout.StdOutImpl
3) 구성 매김 플러그인
/ ** * @description MybatisPlus 구성 클래스 * @author 산세가 * @CreateTime 2019년 5월 26일 17시 20분 * / @Configuration 공용 클래스 MybatisPlusConfig { / ** 는 SQL 실행 환경 * PLUS MyBatis로 플러그 효율을 생성 할 수있다 [닫기] * / @Bean 공공 performanceInterceptor performanceInterceptor () { 반환 새로운 새로운 performanceInterceptor (); } / ** * 탭 위젯을 * / @Bean 공공 () {paginationInterceptor paginationInterceptor 돌아가 새로운 새 ) paginationInterceptor을 (; } }
3.mybatis 플러스 필드 전략
널 (null) 값에 필드를 설정하려는 상기 데이터를 업데이트하는 방법 updateById의 MyBatis로 플러스 패키지를 사용하지만, 발견시에는 원래의 값은 시간의 MyBatis 플러스 업데이트 판정 널 만든 이후 null 또는 업데이트 된 데이터가없는 기본은 널 (null) 매개 변수를 전달하도록 업데이트되지 않습니다. (소스 코드를 볼 수 있습니다)
/ **
* <P>
* 열거 클래스 정책 필드
* </ P>
*
* @author 후빈
* @since 2016년 9월 9일
* /
공용 ENUM FieldStrategy {
/ **
* 무시 분석
* /
무시
/ **
분석 NULL이 아닌 *
* /
NOT_NULL,
/ **
* 결정 비어 있지 않은
* /
not_empty
}
2) 케이스
주석 @TableField (전략 = FieldStrategy.IGNORED)가 널 (null) 값이 개체, 예컨대에 해당 필드에 기초하여 결정된다 무시
@TableField (전략 = FieldStrategy.IGNORED) 개인 문자열 사용자 이름 :