简介
基于之前的文章我们完成了springboot结合mybatis实现mysql最简单的配置
大部分配置项都是使用springboot帮我们自动化的装配了.
第12课:springboot +mybatis +mysql 最简单配置化的demo
配置内容的变化
里面是最简单化配置 SessionFactoryConfig 我们指定通过@MapperScan 扫描我们的mapper.java文件,但是需要我们将对应的mapper.xml放到resources相同包路径下面的文件夹才能加载生效;
类似下面的图片
当然如果我们的mapper的包路径比较深这个文件夹的目录相对而言也会比较深;
我们基于xml配置SqlSessionFactoryBean 可以指定加载多个路径的xml配置
<property name="mapperLocations" value="classpath*:sqlmapper/*.xml"></property>
当然基于java的配置也是可以实现的;下面两个图是对于的修改前后的区别
修改前的配置
@Bean(name = "sqlSessionFactory")
public SqlSessionFactoryBean createSqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
/** 设置mybatis configuration 扫描路径 */
sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(MYBATIS_CONFIG));
/** 设置datasource */
sqlSessionFactoryBean.setDataSource(dataSource);
/** 设置typeAlias 包扫描路径 */
sqlSessionFactoryBean.setTypeAliasesPackage(typeAliasPackage);
return sqlSessionFactoryBean;
}
修改后的配置
@Bean(name = "sqlSessionFactory")
public SqlSessionFactoryBean createSqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
/** 设置mybatis configuration 扫描路径 */
sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(MYBATIS_CONFIG));
/** 设置datasource */
sqlSessionFactoryBean.setDataSource(dataSource);
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:sqlmapper/*.xml"));//加载配置文件的地址;
// sqlSessionFactoryBean.setMapperLocations(new Resource[]{new ClassPathResource("classpath:mapper/*.xml")});
/** 设置typeAlias 包扫描路径 */
sqlSessionFactoryBean.setTypeAliasesPackage(typeAliasPackage);
return sqlSessionFactoryBean;
}
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:sqlmapper/*.xml"));//加载配置文件的地址;
多了上述的代码内容,我们指定了加载resources目录下面的sqlmapper目录下面的所有的xml
需要注意直接使用下面配置好像是不行的;