프로젝트 CRUD를 통합 스프링 부팅 MyBatis로 봄 부팅 (c)를 시작

사용은 기본적으로 두 가지 기본 방법, 확장 된 방식으로 CRUD 프레임 워크를 MyBatis로. XML 매핑 파일 사용 노트를 사용하는 두 가지 기본적인 방법이 있습니다. 확장 MyBatis로 플러스 방식으로, 그 사용이 스프링 데이터 JPA와 유사하다 사용하는 것입니다.

1. 의존 소개

<! - springboot的웹起步依赖-> 
<의존성>
<의 groupId> org.springframework.boot </의 groupId>
<artifactId를> springboot - 스타터 웹 </ artifactId를>
</ 의존성>
<! - MyBatis로起步依赖-> 
<의존성> 
       <의 groupId> org.mybatis.spring.boot </의 groupId> 
       <artifactId를> MyBatis로 스프링 부팅 - 스타터 </ artifactId를> 
       <버전> 2.1.0 </ 버전 > 
</ 의존성>    
<! - MySQL의连接驱动-> 
<의존성>
<의 groupId> MySQL의 </의 groupId>
<artifactId를> MySQL을 커넥터 자바 </ artifactId를>
<분야> 런타임 </ 범위>
</ 의존성>

2.entity 엔티티 클래스

@tablename (값 = "tb_user") // MyBatis로 플러스, 데이터베이스의 테이블 빌드 관계를 사용할 때 요구 사항이 추가 될 
공용 클래스 SYSUSER 구현 직렬화 { 

    필요에 추가 할을 때 @TableId (유형 = IdType.AUTO) // 사용의 MyBatis 플러스 차 키 생성 전략 
    개인 긴 ID; 

    개인 문자열 이름; 


    개인 문자열 암호, 

    개인 문자열 소금, 
    개인 문자열 아바타, 
    개인 문자열 소개, 
    개인 문자열 발언을; 
    // 생략 GET, 설정 방법 
}

프로필 application.properties를 작성합니다

#DB 구성 데이터베이스 정보 : 
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = JDBC를 : MySQL의 : /// 테스트
spring.datasource.username = 루트
spring.datasource.password = 루트
spring.datasource = com.zaxxer.hikari.HikariDataSource .Type은

MyBatis로는 환경 통합 #spring
스캔 패키지 #pojo 별칭을
mybatis.type - 별칭 = cn.zhq.system.entity 패키지
MyBatis로로드 # 매핑 파일
mybatis.mapper-위치 = 클래스 경로 : 매퍼 / Mapper.xml *

# 인쇄는 SQL
콘솔에 인쇄 #의 SQL
logging.level.cn.zhq.system.mapper = 디버그
mybatis.type 앨리어싱 패키지는 패킷 mybatis.mapper - 위치 설정 파일의 위치는 엔티티의 위치이다. 뭔가 잘못되면 경우 SQL 플러스 최상의 인쇄 구성의 초기 사용은 다음 너무 쉽게 오류의 원인을 찾을 수 있습니다.

UserMapper 클래스 만들기 (4)

@Mapper 
공용 인터페이스의 UserMapper { 

}

응용 프로그램 스프링 부팅 주석 5.

@EntityScan ( "cn.zhq.system.entity") // 채우기 엔티티 클래스 곳에 패키지의 위치.

이 댓글을 추가 한 후, springboot는 엔티티 클래스를 스캔 할 수 있습니다.

6. CRUD

6.1 CRUD 수 mapper.xml

메소드 UserMapper 클래스 6.1.1 쓰기

    / ** 
     * 사용자 데이터 쿼리 이름 
     * 
     * @param 이름 
     * @return 
     * / 
    SYSUSER 경우 FindByName (문자열 사용자 이름);

자원의 매퍼 디렉토리에 6.1.2 만들기 UserMapper.xml 프로필

<! DOCTYPE 매퍼 PUBLIC "- // mybatis.org//DTD 매퍼 3.0 // EN" 
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<매퍼 네임 스페이스 = "cn.zhq. system.mapper.UserMapper "> 
    <SELECT ID ="경우 FindByName "resultType ="SYSUSER "parameterType ="문자열 "> 
      선택 * tb_user 곳에서 자명 = {# 이름} 
    </ 선택> 
</ 매퍼>

, 삭제, 변경 작업을 추가 선택 태그, 라벨 사용 업데이트를 사용하여 쿼리를 실행합니다. ID가 클래스 메소드 UserMapper의 이름입니다, 반환 값의 resultType 유형, parameterType 매개 변수 유형은 수신됩니다.

6.2를 사용하여 주석 CRUD했다

    / ** 
     *更新用户名
     파라미터 : 사용자 이름 
     * / 
    @Update ( "업데이트 tb_user 세트 이름 = # {사용자 이름} 여기서 ID = # {ID}") 
    무효 updateByAvatar (문자열 사용자 이름, 긴 ID);

@Update 코멘트를 사용한 후, 당신 쓰기 UserMapper 구성 파일 작동에, 감정 이입 할 수 @Updae 추가 및 삭제에 더 이상 필요. 또한 @Select 쿼리를 사용합니다. 쿼리 일대 많은 관계도 반환 결과 데이터의 유형을 지정 @Results 주석을 사용할 수 있습니다 때, 우리는 여기에 정교하지 않습니다.

두 가지 방법으로 위의 구성 파일에 대한 진술의 SQL 낮은 커플 링을 이용하지만 너무 많은 문제를 사용 주석 방식으로 작성된 구성 파일을 사용, 장점과 단점이 비교적 간단하지만, 커플 링이 높다. 이 간단한 문장 인 경우 문이 구성 파일을 사용하여 복잡한 경우, 제안, 주석을 사용하는 것입니다. 어떤 방법으로 특정 사용, 경우에 따라.

6.3 MyBatis로 플러스 CRUD에 대한

MyBatis로 플러스 스프링 데이터 JPA와 유사, 내장 된 쿼리, 업데이트, 우리는 그 간단한 SQL 문을 작성할 필요가 없습니다 그래서, 문 삽입, 삭제합니다.

6.3.1 도입 의존

<! - MyBatis로 플러스 -> 
        <의존성> 
            <의 groupId> com.baomidou </의 groupId> 
            <artifactId를> MyBatis로 플러스 부팅 스타터 </ artifactId를> 
            <버전> 3.2.0 </ 버전> 
        </ 의존성>

6.3.2 application.yml 프로필

# MyBatis로 플러스 
의 MyBatis 플러스 : 
  타입 별칭 패키지 : cn.zhq.system.entity의 
  매퍼-사항 : 클래스 경로 :. 매퍼 / * XML의 
  구성 : 
    JDBC를 위해 널 유형 : 널 (null) 
  글로벌 설정 : 
    배너 : 거짓
타입 별칭 패키지는 위치 엔티티 엔티티 클래스 패키지를 채우기 위해. 매퍼-사항 : 파일의지도 위치에 채우기, 당신은 매퍼 구성 오류의 리소스 파일에 기록하지 않는 경우.

6.3.3 관련 서비스, ServiceImpl에서는, 매퍼 클래스

서비스:

공중 인터페이스는 UserService IService <SYSUSER>을 연장 { 


    / ** 
     *更新
     * 
     * @param SYSUSER 
     * / 
    무효 업데이트 (SYSUSER SYSUSER); 
}

ServiceImpl에서는 :

@Service 
Public 클래스 UserServiceImpl는 ServiceImpl에서는 <UserMapper, SYSUSER>를 구현 UserService {연장 
    @Autowired 
    전용 UserMapper userMapper 단계; 

    @Override 
    @Transactional 
    파라미터 : (SYSUSER SYSUSER) { 
        userMapper.updateById (SYSUSER); 
    } 
}

매퍼 :

@Mapper 
공용 인터페이스가 UserMapper BaseMapper 연장 <SYSUSER> { 
}

우리는 UserMapper의 모든 방법을 정의하지 않습니다,하지만 mybatisPlus 우리에게 가능한 여러 가지 방법을 통합 있지만.

실행 후, 인쇄 SQL 문을 결과는 다음입니다

추천

출처www.cnblogs.com/Code-Handling/p/12047735.html