一、开发、测试环境datasource差异化配置
1、使用spring boot的application-dev.properties、application-defualt.properties方式配置,都是使用spring
boot的“spring.profiles.active”进行配置
a)在gradle.build中传入“spring.profiles.active”参数,将dev传给boogRun
b)在gradle.build中传入“spring.profiles.active”参数,即spring.profiles.active=dev
2、使用gradle的文件移动功能来实现同一个文件的不同差异化配置
3、自己写一个差异化变量替换的插件来进行打包
二、spring boot的Mybatis配置
1、配置数据源datasource
a)通过xml配置来手动加载
b)通过application-xxx.properties配置来让spring
boot自动加载
2、spring boot配置mybatis
都是使用spring boot的MybatisAutoConfiguration在启动过程中注册mybatis组件
3、mybatis配置sqlSessionFactory,如datasource等
a)spring
boot自动注入的mybatis默认使用自动加载的datasource
b)通过xml文件手动加载datasource,如<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
c)使用MyBatisConfig等javaBean手动配置,如SqlSessionFactoryBean
sqlsession = new SqlSessionFactoryBean(); sqlsession.setDataSource(dataSource);
4、mybatis配置相应参数
a)直接通过application.properties中配置,如mybatis.configuration.mapUnderscoreToCamelCase=true
b)在application.properties里通过指定mybatisConfig.xml位置来注入,如<setting
name="mapUnderscoreToCamelCase" value="true" />
c)在MyBatisConfig的javaBean里通过Configuration来注入,如org.apache.ibatis.session.Configuration
configuration=new org.apache.ibatis.session.Configuration(); configuration.setMapUnderscoreToCamelCase(true);
5、mybatis配置mapper
a)在application.properties中配上mapper的bean或xml位置,如mybatis.mapper-locations=classpath:mapper/*.xml
b)通过MyBatisConfig手动配置mapper的beanxml位置,如sqlsession.setMapperLocations(resolver.getResources("classpath:mybatis-mapper/*.xml"));
c)mybatisConfig.xml文件中指定mapper的bean或xml位置,如<property
name="mapperLocations" value="mapper/*.xml"></property>
6、mybatis配置generator
a)?在application.properties中配上mapper的bean或xml位置,待研究
b)?通过MyBatisConfig手动配置mapper的beanxml位置,待研究
c)?mybatisConfig.xml文件中指定mapper的bean或xml位置,待研究
7、mybatis使用通用Mapper插件
在SqlSessionFactoryBean中增加通用Mapper插件,即将MapperScannerConfigurer和SqlSessionFactoryBean进行绑定,如mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");,通用Mapper插件的MapperScannerConfigurer继承了mybatis自带的MapperScannerConfigurer方法,在其基础上增加了一些便捷的新功能。
a)在MybatisAutoConfiguration自动加载后执行MapperScannerConfigurer,指定mapper的BasePackage和MybatisBaseMapper
b)?通过MyBatisConfig手动配置,待研究
c)?在application.properties中配置,待研究
d)?在mybatisConfig.xml文件中配置,待研究
8、mybatis使用分页PageHelper插件
在SqlSessionFactoryBean中增加分页PageHelper插件,即将某Configurer功能和SqlSessionFactoryBean进行绑定,如sqlsession.setPlugins(new
Interceptor[]{pageHelper});
a)?在MybatisAutoConfiguration自动加载后执行某方法类,待研究
b)?通过MyBatisConfig手动配置,待研究
c)?在application.properties中配置,待研究
d)?在mybatisConfig.xml文件中配置,待研究