视频里面的代码不完整,搞了很久,导致查询结果是null,完整代码如下:

来源:3-3 datasource和sessionfactorybean的配置

囜旎

2022-03-20 14:48

视频里面的代码不完整,搞了很久,导致查询结果是null,完整代码如下:


package com.imooc.demo.config.dao;


import org.mybatis.spring.SqlSessionFactoryBean;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.core.io.ClassPathResource;

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

import javax.sql.DataSource;

import java.io.IOException;


@Configuration

public class SessionFactoryConfiguration {

    private static String mybatisConfigFile;

    @Value("${mybatis_config_file}")

    public void setMybatisConfigFile(String mybatisConfigFile) {

        SessionFactoryConfiguration.mybatisConfigFile = mybatisConfigFile;

    }



    private static String mapperPath;

    @Value("${mapper_path}")

    public void setMapperPath(String mapperPath) {

        SessionFactoryConfiguration.mapperPath = mapperPath;

    }


    @Value("${entity_package}")

    private String entityPackage;


    @Autowired

    @Qualifier("dataSource")

    private DataSource dataSource;


    @Bean(name = "sqlSessionFactory")

    public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException {

        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

        sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(mybatisConfigFile));

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

        String packageSearchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + mapperPath;

        sqlSessionFactoryBean.setMapperLocations(resolver.getResources(packageSearchPath));

        sqlSessionFactoryBean.setDataSource(dataSource);

        sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage);

        return sqlSessionFactoryBean;

    }

}


写回答 关注

0回答

还没有人回答问题,可以看看其他问题

SpringBoot+MyBatis搭建迷你小程序

SpringBoot+MyBatis搭建小程序后台

91497 学习 · 621 问题

查看课程

相似问题