springboot(二) 设置Mybatis和Spring Boot整合

MybatisSpring Boot的整合有两种方式

第一种使用mybatis官方提供的Spring Boot整合包实现地址https://github.com/mybatis/spring-boot-starter

第二种使用mybatis-spring整合的方式也就是我们传统的方式

 

这里我们推荐使用第二种因为这样我们可以很方便的控制Mybatis的各种配置

 

首先创建一个Mybatis的配置类

 

 

 

 

代码

import javax.sql.DataSource;

 

import org.mybatis.spring.SqlSessionFactoryBean;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.core.io.Resource;

import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import org.springframework.core.io.support.ResourcePatternResolver;

 

@Configuration

public class MyBatisConfig {

 

    @Bean

    @ConditionalOnMissingBean //当容器里没有指定的Bean的情况下创建该对象

    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {

        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

        // 设置数据源

        sqlSessionFactoryBean.setDataSource(dataSource);

        // 设置mybatis的主配置文件

        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

        Resource mybatisConfigXml = resolver.getResource("classpath:mybatis/mybatis-config.xml");

        sqlSessionFactoryBean.setConfigLocation(mybatisConfigXml);

        // 设置别名包

        sqlSessionFactoryBean.setTypeAliasesPackage("com.taotao.cart.pojo");

        return sqlSessionFactoryBean;

    }

}

 

然后,创建Mapper接口的扫描类MapperScannerConfig:

 

 

 

代码

import org.mybatis.spring.mapper.MapperScannerConfigurer;

import org.springframework.boot.autoconfigure.AutoConfigureAfter;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

 

@Configuration

@AutoConfigureAfter(MyBatisConfig.class) //保证在MyBatisConfig实例化之后再实例化该类

public class MapperScannerConfig {

    

    // mapper接口的扫描器

    @Bean

    public MapperScannerConfigurer mapperScannerConfigurer() {

        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();

        mapperScannerConfigurer.setBasePackage("com.taotao.cart.mapper");

        return mapperScannerConfigurer;

    }

}

posted @ 2018-09-12 11:05  ForgotTheMemory  阅读(219)  评论(0编辑  收藏  举报