原创

spring管理mybatis

温馨提示:
本文最后更新于 2022年06月24日,已超过 2 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

spring是一个管理bean的容器,我们将mybatis交给spring来进行管理实际上就是将mybatis中相关的bean交给spring来进行管理,那么究竟是那些类能交给spring来进行管理呢?

这就需要我们来看配置文件和运行时的操作了

image-20220624114533991

再来看配置文件

image-20220624114741982

因为在使用mybatis的时候我们使用的是注解的形式进行开发的所以这里就不需要考虑映射文件了

如何使用spring管理mybatis

可以看出mybatis运行的时候数据源和映射文件是核心,所以这两个就需要我们进行提前配置,数据源的话使用的是Druid进行获得的

package cn.rlfit.config;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

/**
 * @author Mr.sun
 */
public class MybatisConfig {
    //让spring管理SqlSessionFactory
    @Bean
    public SqlSessionFactoryBean getSqlSessionFactory(DataSource dataSource) {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setTypeAliasesPackage("cn.rlfit.domain");
        sqlSessionFactoryBean.setDataSource(dataSource);
        return sqlSessionFactoryBean;
    }

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
        mapperScannerConfigurer.setBasePackage("cn.rlfit.dao");
        return mapperScannerConfigurer;
    }
}

这个类中获得了SqlSessionFactoryMapperScannerConfigurer对象,有了这两个对象之后,我们就把mybatis交由了spring进行管理

需要引入的jar包

<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.2.9.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.9.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.3.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.11</version>
    </dependency>
正文到此结束