1의 MyBatis 스타터 효과
자동 감지 프로젝트 데이터 소스
만들기 및 인스턴스를 등록 SqlSessionFactory는
작성 및 등록 SqlSessionTemplate 예
자동 스캔 매퍼
2 스타터 MyBatis로 사용
1) 도입의 MyBatis 스프링 부팅 스타터
<의존성> <의 groupId> org.mybatis.spring.boot </의 groupId> <artifactId를>의 MyBatis 스프링 부팅 스타트 </ artifactId를> <version>은 2.1.1 </ 버전> </ 의존성> <의존성> <의 groupId > MySQL의 </의 groupId> <artifactId를> MySQL을 커넥터 자바 </ artifactId를> <version>은 5.1.48 </ 버전> </ 의존성>
2) 데이터베이스 구성 파일을 높이기있는 application.properties
spring.datasource.username = 루트 spring.datasource.password = 123456 spring.datasource.url = JDBC한다 : mysql : // localhost를 : 3306 / 테스트 spring.datasource.driver 클래스 이름 = com.mysql.jdbc.Driver
3) 생성의 pom.xml XML 데이터베이스 플러그인 증가. MySQL의 커넥터 - 자바 항아리 패키지에 따라 다름
<빌드> <플러그인> <플러그인> <의 groupId> org.mybatis.generator </의 groupId> <artifactId를> MyBatis로 발전기-받는다는 - 플러그인 </ artifactId를> <version>은 1.3.2 </ 버전> <의존성> <의존성 > <의 groupId> MySQL의 </의 groupId> <artifactId를> MySQL을 커넥터 자바 </ artifactId를> <version>은 5.1.48 </ 버전> </ 의존성> </ 의존성> </ 플러그인> </ 플러그인> </ 빌드 >
자원 generatorConfig.xml 파일 폴더 4) 증가
<XML 버전 = "1.0"인코딩 = "UTF-8"?> <DOCTYPE generatorConfiguration! PUBLIC "- // mybatis.org//DTD 구성 MyBatis로 생성기 1.0 // EN" "http://mybatis.org/dtd /mybatis-generator-config_1_0.dtd "> <generatorConfiguration> <컨텍스트 ID ="testTables "targetRuntime ="MyBatis로 3 "> <commentGenerator> <- 참 제거한 경우 자동으로 생성 주석 :!이다 false로 : NO -> < 이름 = 속성 "suppressAllComments" "참으로"값 = /> </ commentGenerator> <- 데이터베이스 연결 :! 드라이버 클래스, 연결 주소, 사용자 이름, 암호 -> <JdbcConnection driverClass = "com.mysql.jdbc. 드라이버 " 은 connectionURL = "JDBC한다 : mysql : // localhost를 : 3306 / 테스트 characterEncoding = UTF8"userId를 = "루트" 암호 = "123456"> </ jdbcConnection> <! - 디폴트는 false 진정한 JDBC DECIMAL과 정수, 같은 JDBC DECIMAL과 NUMERIC 타입 해상도 숫자를 입력 해상도의 java.math.BigDecimal입니다 -> <javaTypeResolver> <속성 이름 = " forceBigDecimals은 false "값 =" "/> </ javaTypeResolver> <- targetProject :! PO 클래스 생성 위치 -> <javaModelGenerator targetPackage ="com.example.demo.bean " targetProject ="는 SRC / 주 / 자바 "> <- enableSubPackages! 접미사로 스키마 패키지를 허용할지 여부 -> <속성 이름 = "enableSubPackages"= 값 "거짓"/> <!- 이전과 이후 데이터베이스 공간에서 반환 된 값을 청소하고 -> "참으로"= <속성 이름 = "trimStrings"값을 /> </ javaModelGenerator> <! - 지정된 데이터베이스 테이블 -> <- targetProject :! 매퍼 매핑 파일 생성 위치 -> <sqlMapGenerator targetPackage = "매퍼" targetProject = "SRC / 메인 / 자원"> <- 접미사로 스키마 패키지를 허용할지 여부를 enableSubPackages :! -> <속성 이름 = "enableSubPackages"= 값 "거짓"/> </ sqlMapGenerator > <- targetPackage :! 매퍼 인터페이스 생성 위치 -> <javaClientGenerator 타입 = "XMLMAPPER" targetPackage = "com.example.demo.mapper" targetProject = "는 SRC / 주 / 자바"> <-인가 enableSubPackages :! 접미사로 스키마 패키지를하자 -> <속성 이름 = "false로" "enableSubPackages"= 값을 /> </ javaClientGenerator> <표 스키마 = ""TABLENAME = "테스트"> </ 테이블> </ 컨텍스트> </ generatorConfiguration>
5) 구성 mapperScan
@SpringBootApplication @MapperScan ( "com.example.demo.mapper") 공용 클래스 Sb2Application { }
6) application.properties 증가 배치
mybatis.mapper-위치 CLASSPATH =. 매퍼 / * XML
7) mybatis.configuration.map 밑줄 투 낙 케이스 = TRUE 밑줄 camelCasing 변환
mybatis.type-별칭 패키지 = com.example.demo.bean mybatis.configuration.map 밑줄 - 투 - 낙타 경우 = TRUE
8) 테스트 클래스를 증가
@RunWith (SpringRunner.class) @SpringBootTest (클래스 = Sb2Application.class) 공용 클래스 DemoApplicationTest { @Autowired 전용 TestMapper testMapper 단계; @Test 공개 무효 testInsert는 ()는 { com.example.demo.bean.Test 테스트는 새로운 com.example.demo.bean.Test을 () =; test.setId (100); test.setName ( "닉 왕"); testMapper.insert (시험); } }
9) 테스트 클래스를 실행합니다. 성공의 결과
이 데이터 테이블을 추가했다
10) 상태 업데이트됩니다.
이름은 닉 왕 래리로 변경되었습니다
@Test 공개 무효 testWhereUpdate는 ()는 { com.example.demo.bean.Test 테스트는 새로운 com.example.demo.bean.Test을 () =; test.setName ( "래리"); TestExample testExample 새로운 TestExample을 () =; . testExample.createCriteria () andNameEqualTo ( "닉 왕"); testMapper.updateByExampleSelective (시험 testExample); }
도 다음과 같은 결과를 업데이트
3, 보충
그렇다 MapperScan와 검사에서, 방법은 무엇입니까
매퍼 TestMapper의 추가 주석입니다