봄 부팅 MyBatis로-스타터 소개

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의 추가 주석입니다

 

추천

출처www.cnblogs.com/linlf03/p/12444764.html