봄 부팅 + MyBatis로 플러스 마무리

설명 : MyBatis로 플러스 (약식 MP은 )는이다 의 MyBatis 에서, 향상 도구 MyBatis로 단지 개발을 단순화 효율성과 건강을 증가에 따라 변경되지 향상시킬 수 있습니다.

springboot + 받는다는 + MyBatis로 플러스 + mysql을

전체 프로젝트 구조 :

 

 

 

MyBatis로는 플러스 파일 때문에 필요 :

<! - MyBatis로 플러스 자동으로 유지 MyBatis로와 의존의 MyBatis - 봄, 그리고
   세 springboot를 표시 할 수 없습니다, 버전 충돌을 방지 말했다 : 너무 구덩이에 점프 ->
<의존성>
    <의 groupId > com.baomidou </를의 groupId>
    <artifactId를> MyBatis로-PLUS-부팅 스타터 </를 artifactId를>
    <버전> 3.0.1 </ 버전>
</ 의존성>
<! - 통합 MyBatis로 ->
<! - 및 관련 데이터베이스 작업에 의존 ->
<의존성>
    <의 groupId> org.springframework.boot </를의 groupId>
    <artifactId를> 부팅 스타터 - 스프링 JDBC </를 artifactId를>
</ 의존성>

 

 

<! - mybatisplus代码生成器->
<! -模板引擎->
<의존성>
    <의 groupId> org.apache.velocity </의 groupId>
    <artifactId를> 속도 엔진 코어 </ artifactId를>
    <버전> 2.0 </ 버전>
</ 의존성>
<-模板引擎,需要指定mpg.setTemplateEngine (새 FreemarkerTemplateEngine ())! ->
<의존성>
    <의 groupId> org.freemarker </의 groupId>
    <artifactId를> 프리 마커 </ artifactId를>
    <version>은 2.3.23 </ 버전>
</ 의존성>

 

 

 

 

쓰기 mybatisplus   자동 생성기 MybatisPlusGenerator.java를 ( 싱글 모드를 기반으로 만든 )

MybatisPlusGenerator 데이터베이스를 생성하도록 구성 파일 위치가 연결되어

실행문서의 전체 집합을 생성하는 방법

 

패키지 com.lee.springbootdemo.config; 

수입 com.baomidou.mybatisplus.annotation.DbType;
수입 com.baomidou.mybatisplus.generator.AutoGenerator;
수입 com.baomidou.mybatisplus.generator.config.DataSourceConfig;
수입 com.baomidou.mybatisplus.generator.config.GlobalConfig;
수입 com.baomidou.mybatisplus.generator.config.PackageConfig;
수입 com.baomidou.mybatisplus.generator.config.StrategyConfig;
수입 com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/ **
* @author 관리자
* @title : MybatisPlusGenerator
* @projectName의 springboot - 데모
* @description : TODO
*의 @date 2019년 9월 16일 0016下午14시 49분
* /
공용 클래스 MybatisPlusGenerator {
개인 정적 MybatisPlusGenerator 단일 = NULL;

개인 MybatisPlusGenerator () {
슈퍼 ();
}

개인 정적 MybatisPlusGenerator getSingle () {
경우 (하나의 == NULL) {
새로운 단일 MybatisPlusGenerator = ();
}
하나의 반환;
}

공개 무효를 자동 생성 () {
GlobalConfig = 새로운 구성을 GlobalConfig ();
문자열 DBURL = "JDBC한다 : mysql : // localhost를 : 3306 / 테스트 serverTimezone = GMT %의 2B8";
DataSourceConfig dataSourceConfig = 새로운 DataSourceConfig ();
dataSourceConfig.setDbType (DbType.MYSQL)
.setUrl (DBURL)
.setUsername ( "루트")
.setPassword ( "123456")
.setDriverName ( "com.mysql.jdbc.Driver");
StrategyConfig strategyConfig = 새로운 StrategyConfig ();
strategyConfig
.setCapitalMode (참)
.setEntityLombokModel (false)를
// .setDbColumnUnderline (참)
.setNaming (NamingStrategy.underline_to_camel);
config.setActiveRecord (false)를
.setEnableCache (false)를
.setAuthor ( "관리자")
//指定输出文件夹位置
.setOutputDir ( "D : \\ 프로젝트 \\ springboot - 데모 \\ SRC \\ 주요 \\ 자바")
.setFileOverride (참)
.
새로운 AutoGenerator (). setGlobalConfig (구성)
.setDataSource (dataSourceConfig)
.setStrategy (strategyConfig)
.setPackageInfo (
새로운 PackageConfig ()
.setParent ( "com.lee.springboot")
.setController ( "컨트롤러")
.setEntity ( "개체" )
) .Execute를 ();
}

공개 무효 메인 (문자열 []에 args) {정적
// TODO 자동 생성 방법 스텁
MybatisPlusGenerator 발생기 MybatisPlusGenerator.getSingle = ();
generator.autoGeneration ();
}


}

 

프로젝트 구성 정보 :

에서 MybatisPlusConfig 구성 데이터 소스 매김 플러그인, 트랜잭션 관리, SQL의 실행 성능 분석

구성 MapperScan 스캔 DAO / 매퍼 인터페이스

 

패키지 com.lee.springbootdemo.config; 
수입 com.alibaba.druid.pool.DruidDataSource;
수입 com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
수입 com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
수입 org.mybatis.spring.annotation.MapperScan;
수입 org.springframework.boot.context.properties.ConfigurationProperties;
수입 org.springframework.context.annotation.Bean;
수입 org.springframework.context.annotation.Configuration;
수입 org.springframework.jdbc.datasource.DataSourceTransactionManager;
수입은 javax.sql.DataSource;

/ **
* @author 관리자
* @title : MybatisPlusConfig
* @projectName의 springboot - 데모
@description * : TODO의
*의 @date 2019년 9월 18일 오후 0018 17시 9분
* /
@Configuration
@MapperScan ( "com.lee.springboot.mapper")
공공 MybatisPlusConfig 클래스 {
/ ***
* PLUS 성능 최적화
* @ 반환
* /
@Bean
공공 PerformanceInterceptor performanceInterceptor () {
; PerformanceInterceptor performanceInterceptor 새로운 새로운 PerformanceInterceptor = ()
는 SQL 실행 성능 분석, 개발 환경, 라인이 권장되지 않습니다 - / * <! maxTime이 실행될 때 최대 길이를 말한다 SQL -> * /
performanceInterceptor.setMaxTime (1000);
/ * <- false로 SQL 형식 기본 경우 -> * /!
performanceInterceptor.setFormat (true로는)
performanceInterceptor를 반환;
}

/ * *
* @description : MyBatis로 플러스 탭 위젯
* /
@Bean
공공 PaginationInterceptor paginationInterceptor () {
) 새로운 새로운 PaginationInterceptor를 (반환;
}

// 구성 데이터 소스
(이름 = "DataSource에") @Bean을
@ConfigurationProperties (접두사 = "spring.datasource을" )
DataSource에 공공 데이터 소스 () {
) 새로운 새로운 DruidDataSource를 (반환
}

구성 관리자 것들 //
) @Bean (이름 = "는의 transactionManager"
의 transactionManager () {공공의 DataSourceTransactionManager
) 새로운 새의 DataSourceTransactionManager합니다 (데이터 소스를 (반환)
}

}

application.properties 배치

spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver 클래스 이름 = com.mysql.cj.jdbc.Driver
spring.datasource.url = JDBC한다 : mysql : // localhost를 : 3306 / 테스트? serverTimezone = GMT %의 2B8
spring.datasource.username = 루트
spring.datasource.password = 123456
spring.datasource.initialSize = 5
spring.datasource.minIdle = 5
spring.datasource.maxActive = 20
spring.datasource.maxWait = 60000
봄 .datasource.timeBetweenEvictionRunsMillis = 60000
spring.datasource.minEvictableIdleTimeMillis = 300000
spring.datasource.validationQuery가 = DUAL로부터 하나를 선택
spring.datasource.testWhileIdle = TRUE
spring.datasource.testOnBorrow = 거짓
spring.datasource.testOnReturn = 거짓
spring.datasource.poolPreparedStatements = TRUE
spring.datasource.maxPoolPreparedStatementPerConnectionSize = 20
spring.datasource.filters = STAT, 벽의 log4j
spring.datasource.connectionProperties = druid.stat.mergeSql = TRUE; druid.stat.slowSqlMillis = 5000
의 MyBatis 플러스. 매퍼-위치 = 클래스 경로 : /mapper/*Mapper.xml
의 MyBatis-plus.typeAliasesPackage = com.zzg.springboot.entity


간단한 테스트를 할 수있는 것보다 더 많은 작업을 수행.
패키지 com.lee.springbootdemo; 
수입 com.lee.springboot.entity.ASCategory;
수입 com.lee.springboot.mapper.ASCategoryMapper;
수입 org.junit.Test;
수입 org.junit.runner.RunWith;
수입 org.springframework.boot.test.context.SpringBootTest;
수입 org.springframework.test.context.junit4.SpringRunner;
수입 javax.annotation.Resource;
수입은 java.util.List;
@RunWith (SpringRunner.class)
@SpringBootTest
공용 클래스 SpringbootDemoApplicationTests {

@Resource
개인 ASCategoryMapper의 asCategoryMapper;

@Test
공공 무효 contextLoads는 () {
에서 System.out.println는 ( "-----------------> 테스트로 실행");
목록 <ASCategory> asCategoryList = asCategoryMapper.selectList (NULL);
asCategoryList.forEach (System.out에 ::에 println);
}

}

 원본 주소 : https://blog.csdn.net/zhouzhiwengang/article/details/81059086

추천

출처www.cnblogs.com/lideqiang0909/p/11544511.html