Spring Boot集成Mybatis

背景

Spring Boot集成Mybatis的配置方式有很多种,可以使用mybatis-spring-boot-starter、注解方式、传统集成方式等。本文采用的是传统方式,因为集成最为直接,而且事务配置也比较容易上手。

添加依赖


    org.springframework.boot
    spring-boot-starter-parent
    1.4.0.RELEASE
    

  

    
        org.springframework.boot
        spring-boot-starter-web
    
    
        org.springframework.boot
        spring-boot-starter
    
    
        org.springframework.boot
        spring-boot-starter-aop
    
    
        org.springframework.boot
        spring-boot-devtools
    
    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        1.1.1
    
    
        org.springframework.boot
        spring-boot-starter-jdbc
        
            
                
                org.apache.tomcat
                tomcat-jdbc
            
        
    
    
        org.springframework.boot
        spring-boot-starter-test
        test
    
    
        org.springframework.boot
        spring-boot-starter-jdbc
    
    
        org.apache.tomcat
        tomcat-juli
        ${tomcat.version}
    
    
    
        org.mybatis
        mybatis
        3.4.1
    
    
        org.mybatis
        mybatis-spring
        1.3.0
    
    
        com.zaxxer
        HikariCP-java7
        2.4.9
    

配置数据源

applicationContext-mybatis.xml



 
    
 
    
        
        
        
        
        
 
        
            
                ${database.url}
                ${database.username}
                ${database.password}
            
        
    
 
    
    
        
    
 
    
        
        
        
        
        
        
 
 
    
 
    
    
        
        
    
 
    
        
    
 
    
    
 
    
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
    
    
        
        
    

SpringApplication

@Configuration
@ComponentScan(basePackages = {"com****server"})
@EnableAutoConfiguration
@ImportResource("classpath:applicationContext-mybatis.xml")
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
 
    //文件下载
    @Bean
    public HttpMessageConverters restFileDownloadSupport() {
        ByteArrayHttpMessageConverter arrayHttpMessageConverter = new ByteArrayHttpMessageConverter();
        return new HttpMessageConverters(arrayHttpMessageConverter);
    }
 
    // 用于处理编码问题
    @Bean
    public Filter characterEncodingFilter() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return characterEncodingFilter;
    }
 
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
 
        return new EmbeddedServletContainerCustomizer() {
            @Override
            public void customize(ConfigurableEmbeddedServletContainer container) {
 
                ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");
                ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
                ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");
 
                container.addErrorPages(error401Page, error404Page, error500Page);
            }
        };
    }
}

其他

HikariCP号称性能最好的JDBC连接池,后续研究一下。
搭建SpringBoot过程中,遇到了一些坑,大多是jar版本冲突等造成的。


欢迎关注 高广超的博客 与 收藏文章 !
欢迎关注 头条号:互联网技术栈 !

个人介绍:

** 高广超** :多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。目前就职于美团网,负责核心业务研发工作。

本文首发在 高广超的博客 转载请注明!

Spring Boot集成Mybatis_第1张图片
image.png

你可能感兴趣的:(Spring Boot集成Mybatis)