配置代码如下:
@Bean(name = "sqlSessionFactory")
public SqlSessionFactory sqlSessionFactory() throws Exception {
logger.info("SqlSession配置....");
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(basicDataSource());
factoryBean.setMapperLocations(context.getResources("classpath*:config/mappers/*.xml"));
// factoryBean.setTypeAliasesPackage("com.hengqinlife.EcPlatform.dao.modules.**.entity");
// Interceptor[] plugins = new Interceptor[10];
// PageHelper page = new PageHelper();
// Properties properties = new Properties();
// properties.setProperty("dialect", "mysql");
// page.setProperties(properties);
// plugins[0] = page;
// factoryBean.setPlugins(plugins);
return factoryBean.getObject();
}
@Bean
public static MapperScannerConfigurer getMapperScannerConfigurer(){
MapperScannerConfigurer config = new MapperScannerConfigurer();
config.setBasePackage("com.hengqinlife.EcPlatform.dao.modules.**.mapper");
config.setSqlSessionFactoryBeanName("sqlSessionFactory");
return config;
}
static方法不能注入
不能把bean写成静态方法吧。
反而用下面这种单个配置mapper他又能注入
@Bean
public GeUserPersonalMapper geUserPersonalMapper(){
MapperFactoryBean<GeUserPersonalMapper> bean = new MapperFactoryBean<GeUserPersonalMapper>();
bean.setMapperInterface(GeUserPersonalMapper.class);
bean.setSqlSessionFactory(context.getBean(SqlSessionFactory.class));
try {
return bean.getObject();
} catch (Exception e) {
return null;
}
}
通配符 * 和 * 之间不是有个点 . 吗;
如果通配符的注入仍然不成功,试试一个个列举出来(写mapper的全路径);