SessionFactoryConfiguration.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.imooc.demo.config.dao;
  2. import org.mybatis.spring.SqlSessionFactoryBean;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.beans.factory.annotation.Qualifier;
  5. import org.springframework.beans.factory.annotation.Value;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.core.io.ClassPathResource;
  9. import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
  10. import javax.sql.DataSource;
  11. import java.io.IOException;
  12. @Configuration
  13. public class SessionFactoryConfiguration {
  14. @Value("${mybatis_config_file}")
  15. private String mybatisConfigFilePath;
  16. @Value("${mapper_path}")
  17. private String mapperPath;
  18. @Autowired
  19. @Qualifier("dataSource")
  20. private DataSource dataSource;
  21. @Value("${entity_package}")
  22. private String entityPackage;
  23. @Bean(name = "sqlSessionFactory")
  24. public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException {
  25. SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
  26. sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(mybatisConfigFilePath));
  27. PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
  28. String packageSearchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +mapperPath;
  29. sqlSessionFactoryBean.setMapperLocations(resolver.getResources(packageSearchPath));
  30. sqlSessionFactoryBean.setDataSource(dataSource);
  31. sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage);
  32. return sqlSessionFactoryBean;
  33. }}