springboot初级学习系列之六整合Mybatis

MybatisSpring Boot的整合有两种方式

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

第二种使用mybatis-spring整合的方式也就是我们传统的方式。我们推荐使用第二种因为这样我们可以很方便的控制Mybatis的各种配置。以下是我们xml中与mybatis整合,我们springboot中只需要配置sqlsessionfactory和扫描包即可。


首先配置sqlsessionfactory:

在Application主类下新建类:MyBatisConfig,并将SqlMapConfig.xml文件放入对应目录下。

@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/SqlMapConfig.xml");
        sqlSessionFactoryBean.setConfigLocation(mybatisConfigXml);
        // 设置别名包
        sqlSessionFactoryBean.setTypeAliasesPackage("com.taotao.cart.pojo");
        return sqlSessionFactoryBean;
    }
}

在Application主类下新建类: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;
    }
}

猜你喜欢

转载自blog.csdn.net/yiqing_summer/article/details/80002994