springboot 集成mybaties

阅读更多
前情: 项目DB访问主要是JPA。 但因为前期需求的不确定等原因,导致entity的关联关系等不确定。 明显感觉JPA在多条件查询方面要弱于mybaties。所以集成mybaties到项目, 数据访问层,混用JPA和mybaties。 其中mybaties主要用于特殊查询:

1.pom依赖:

	org.mybatis.spring.boot
	mybatis-spring-boot-starter
	1.3.0




	com.github.pagehelper
	pagehelper
	4.1.6




    org.mybatis.generator
    mybatis-generator-maven-plugin
    1.3.5



2.代码生成配置(resources目录下):





    
	
    
        
            
        
        
        
        
            
        
        
        
        
            
        

		
        
        


3. mybatis配置
#mybatis
mybatis:
  type-aliases-package: api.qooco.com.petstore.entity
  mapper-locations: classpath*:/sqlMapperXml/*.xml
  configuration:
    map-underscore-to-camel-case: true
    use-generated-keys: true
    default-fetch-size: 100
    default-statement-timeout: 25000
    cache-enabled: true
    aggressive-lazy-loading: true
    lazy-loading-enabled: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl


4.分页配置:
@Configuration
@EnableJpaAuditing
@EnableTransactionManagement
@EnableSpringDataWebSupport
@MapperScan("api.xxx.com.petstore.mapper")
public class AppConfig {

    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("dialect", "mysql");
        p.setProperty("supportMethodsArguments", "true");
        p.setProperty("autoRuntimeDialect", "true");
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        p.setProperty("returnPageInfo", "always");
        p.setProperty("params", "count=countSql");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}
    }

你可能感兴趣的:(springboot,集成mybaties)