如何创建并优化网站以吸引用户访问十大热门的微信小程序游戏?
摘要:网站如何做移动网站,十大微信小程序游戏,上海注册公司收费,甘孜建设机械网站首页背景 在微服务李娜一般一个服务只有一个数据源,但是在有的老项目或者一些特定场景需要多数据源链接不同的数据库&#xff
网站如何做移动网站,十大微信小程序游戏,上海注册公司收费,甘孜建设机械网站首页背景
在微服务李娜一般一个服务只有一个数据源#xff0c;但是在有的老项目或者一些特定场景需要多数据源链接不同的数据库#xff0c;本文以mybatisPlus为基础给出解决方案
多数据源场景分类
情形一#xff1a;项目启动就确定了情形一#xff1a;一些sass系统里面动态确…背景
在微服务李娜一般一个服务只有一个数据源但是在有的老项目或者一些特定场景需要多数据源链接不同的数据库本文以mybatisPlus为基础给出解决方案
多数据源场景分类
情形一项目启动就确定了情形一一些sass系统里面动态确定的比如说运行时建立的数据源还有一些报表场景也是如此 本文暂不讨论相关
解决方案(本人都有使用过)
1.mybatisPlus官网提供的 提供框架使用是使用注解切换 缺点很大不建议
2.使用sharding等分库分表工具这个是可以用来当做多数据源的解决方案的
3.分包 本文使用次方案
项目环境
springboot3.x mybatisPlus3.5.3(低于该版本会有问题因为spring有的类被删除了会报错)
讲道理23年使用springboot3.x不应该使用mybatis的mybatis目前还不支持native编译但是本文属于后端项目不适用native也无所谓
配置文件
master配置
Configuration
MapperScan(basePackages com.git.mapper.mysql, sqlSessionTemplateRef masterSqlSessionTemplate)
public class MasterDataSourceConfig {Bean(name masterDataSource)ConfigurationProperties(prefix spring.datasource.hikari.master)public DataSource masterDataSource() {return DataSourceBuilder.create().build();}Bean(name masterSqlSessionFactory)Primarypublic SqlSessionFactory masterSqlSessionFactory(Qualifier(masterDataSource) DataSource dataSource) throws Exception {MybatisSqlSessionFactoryBean sessionFactoryBean new MybatisSqlSessionFactoryBean();//MybatisSqlSessionFactoryBean这个要换成mybatisPlus的不然没有一些通用sql的功能sessionFactoryBean.setDataSource(dataSource);sessionFactoryBean.setGlobalConfig(masterGlobalConfig());sessionFactoryBean.setPlugins(masterPlusInterceptor());sessionFactoryBean.setVfs(SpringBootVFS.class);//还能设置xml扫描路径别名配置等本文比较野直接注解return sessionFactoryBean.getObject();}Bean(masterTransactionManager)Primary// 数据源事务管理器public DataSourceTransactionManager masterTransactionManager(Qualifier(masterDataSource) DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}Bean(name masterSqlSessionTemplate)Primarypublic SqlSessionTemplate masterSqlSessionTemplate(Qualifier(masterSqlSessionFactory) SqlSessionFactory sqlSessionFactory) {return new SqlSessionTemplate(sqlSessionFactory);}Bean(masterGlobalConfig)public GlobalConfig masterGlobalConfig()
