Springboot 통합 Mybatis 역방향 프로젝트(상세 설명 판)

Springboot 통합 Mybatis 역방향 프로젝트(상세 설명 판)
무슨 역방향 공사?
데이터베이스 에 있 는 데이터 시트 를 분석 하여 자바 빈(데이터베이스 시트 에 대응 하 는 실체 류),dao 인터페이스(데이터 액세스 층 인터페이스,데이터 에 접근 하 는 방법 을 정의),SQLMap(sql 구문 맵 파일,dao 층 인터페이스 류 와 일일이 대응)을 자동 으로 생 성 합 니 다.
step 1:XML 프로필 쓰기
이 프로필 은 코드 설명 을 볼 수 있 는 코드 를 만 드 는 방법 을 정의 합 니 다.







    

        
        

        
            
        

        
            
            
        

        
            
        

        
            
        

        

일부 설정 항목 에 대한 설명:
targetPackage
생 성 코드 를 어느 가방 에 넣 을 지 설정 합 니 다.이것 이 없 으 면 Mybatis Generator 가 자동 으로 생 성 됩 니 다.
targetProject
공식 정의
This is used to specify a target project for the generated objects.
targetPackage 가 있 는 디 렉 터 리,즉 targetPackage 의 부모 디 렉 터 리 를 가장 직 설 적 으로 설명 합 니 다.
이 디 렉 터 리 는 반드시 있어 야 합 니 다.없 으 면 Mybatis generator 가 자동 으로 만 들 지 않 습 니 다.
이 경 로 는 절대 경 로 를 쓸 수도 있 고 상대 경 로 를 쓸 수도 있 습 니 다.상대 경 로 는 이 xml 설정 파일 에 비해!
가장 큰 구덩이:왜 Mybatis generator 프로그램 이 실 행 된 후에 코드 파일 이 생 성 되 지 않 았 는 지 에 대한 문 제 는:
mac 랑 windows 가 좀 달라 요.
mac 아래 경 로 는 이렇게 써 야 합 니 다./src
윈도 우즈 의 경 로 는 이렇게 쓰 여 있 습 니 다.src
이것 은 매우 함정 입 니 다.mbg 는 잘못된 힌트 를 주지 않 습 니 다!
step 2:프로그램 생 성 코드
Mybatis Generator 는 공식 적 으로 코드 를 만 드 는 여러 가지 방식 을 제공 하지만 가장 유연 한 것 은 자바 코드 를 직접 작성 하여 설정 파일 을 읽 고 목표 코드 를 만 드 는 것 입 니 다.
package top.crxk.MyBatisGenerator;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class TestMbg {
    public static void main(String[] args) throws Exception{
        List warnings = new ArrayList();
        boolean overwrite = true;
        //          ,       
        //         ,      
        File configFile = new File("mbg.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
    }
}

step 3:대상 코드 사용
Mybatis Generator 에서 생 성 된 코드 는 단일 표 의 삭제 와 수정 에 대한 강력 한 조작 을 제공 합 니 다.
표 마다 mbg 는 네 개의 파일 을 생 성 합 니 다.task 표를 예 로 들 면 각각
  • Task.java
  • TaskExample.java
  • TaskMapper.java
  • TaskMapper.xml

  • TaskExample.자바 라 는 종 류 를 사용 하면 각종 조건 조회 자 구 를 동적 으로 정의 하여 하나의 표 에 대한 각종 삭제 와 검 사 를 만족 시 킬 수 있 습 니 다.다른 표 와 관련 되 지 않 으 면 다른 파일 과 접촉 하지 않 아 도 됩 니 다.
    예 를 들 어:
    @Controller
    @ResponseBody
    @RequestMapping("/test")
    public class testMbgController {
        @Autowired
        TaskMapper taskMapper;
        @Autowired
        TaskExample taskExample;
    
        @RequestMapping("/countByExample")
        public long countByExample(int id) {
            taskExample.or().andIdEqualTo(id);
            return taskMapper.countByExample(taskExample);
        }
    
        @RequestMapping("/selectByExample")
        public List selectByExample() {
            taskExample.or().andIdEqualTo(12);
            return taskMapper.selectByExample(taskExample);
        }
    }

    관련 세부 사항
    TaskExample.Criteria
                 , TaskExample   。
    taskExample.or()

    taskExample 의 or()방법 을 호출 하면 Criteria 를 되 돌려 줍 니 다.Criteria 는 데이터 시트 의 각 필드 와 관련 된 방법 을 정 의 했 습 니 다.이 방법 을 사용 하여 조건 을 설정 하고 여러 조건 을 추가 할 수 있 습 니 다.
    taskExample.or().andIdEqualTo(12).andDeviceIdIsNull();

    포 함 된 조건
  • IS NULL-관련 열 이 NULL 이 어야 함 을 나타 낸다
  • IS NOT NULL-관련 열 을 NULL 로 표시 할 수 없습니다
  • =(같 음)-관련 열 은 반드시 방법 호출 에서 전달 하 는 값 과 같 아야 함 을 나타 낸다
  • <>(같 지 않 음)-관련 열 은 방법 호출 에서 전달 하 는 값 과 같 지 않 음 을 나타 낸다
  • >(이상)-관련 열 이 방법 호출 에서 전달 하 는 값 보다 커 야 한 다 는 것 을 나타 낸다
  • >=(크 거나 같 음)-관련 열 이 방법 호출 에서 전달 하 는 값 보다 크 거나 같 아야 함 을 나타 낸다

  • <=(작 거나 같 음)-관련 열 이 방법 호출 에서 전달 하 는 값 보다 작 거나 같 아야 함 을 나타 낸다
  • LIKE-해당 열 은 방법 호출 에서 전달 하 는 값 과'유사'해 야 함 을 나타 낸다.이 코드 는 필요 한'%'를 추가 하지 않 았 습 니 다.방법 호출 에서 전달 하 는 값 에서 이 값 을 스스로 설정 해 야 합 니 다

  • 4.567917.싫어-관련 열 이 반드시'싫어'방법 으로 전달 해 야 하 는 값 을 의미 합 니 다.이 코드 는 필요 한'%'를 추가 하지 않 았 습 니 다.방법 호출 에서 전달 하 는 값 에서 이 값 을 스스로 설정 해 야 합 니 다
  • BETWEEN-관련 열 이 방법 호출 에서 전달 해 야 하 는 두 값 사 이 를 나타 낸다
  • NOT BETWEEN-관련 열 은 방법 호출 에서 전달 해 야 하 는 두 값 사이 에'존재 하지 않 음'사 이 를 나타 낸다
  • IN-관련 열 은 반드시 방법 호출 에서 들 어 오 는 값 목록 중 하나 여야 한 다 는 것 을 나타 낸다
  • NOT IN-관련 열 을 방법 호출 에서 전달 할 수 없 는 값 목록 중 하나 로 표시 합 니 다
  • 좋은 웹페이지 즐겨찾기