当前位置: 首页 > news >正文

自助网站建设工具做游戏网站赚钱么

自助网站建设工具,做游戏网站赚钱么,渭南有几个县,网站上哪个做相片书好背景 在微服务李娜一般一个服务只有一个数据源,但是在有的老项目或者一些特定场景需要多数据源链接不同的数据库,本文以mybatisPlus为基础给出解决方案 多数据源场景分类 情形一:项目启动就确定了情形一:一些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() {GlobalConfig globalConfig = new GlobalConfig();return globalConfig;}/*** 分页插件*/@Bean("masterPlusInterceptor")public MybatisPlusInterceptor masterPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}}

slave配置

@Configuration
@MapperScan(basePackages = "com.git.mapper.sqlserver", sqlSessionTemplateRef = "slaveSqlSessionTemplate")
public class SlaveDataSourceConfig {@Bean(name = "slaveDataSource")@ConfigurationProperties(prefix = "spring.datasource.hikari.slave")public DataSource slaveDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "slaveSqlSessionFactory")public SqlSessionFactory slaveSqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource) throws Exception {MybatisSqlSessionFactoryBean sessionFactoryBean = new MybatisSqlSessionFactoryBean();sessionFactoryBean.setDataSource(dataSource);sessionFactoryBean.setGlobalConfig(slaveGlobalConfig());sessionFactoryBean.setPlugins(slavePlusInterceptor());sessionFactoryBean.setVfs(SpringBootVFS.class);return sessionFactoryBean.getObject();}@Bean("slaveTransactionManager")// 数据源事务管理器public DataSourceTransactionManager slaveTransactionManager(@Qualifier("slaveDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Bean(name = "slaveSqlSessionTemplate")public SqlSessionTemplate slaveSqlSessionTemplate(@Qualifier("slaveSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {return new SqlSessionTemplate(sqlSessionFactory);}@Bean("slaveGlobalConfig")public GlobalConfig slaveGlobalConfig() {GlobalConfig globalConfig = new GlobalConfig();return globalConfig;}/*** 分页插件*/@Bean("slavePlusInterceptor")public MybatisPlusInterceptor slavePlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.SQL_SERVER));return interceptor;}
}

mapper包配置

使用与普通的mybatisPlus一样

在这里插入图片描述

注意事项

手动配置多数据源不会配置何解?

直接看mybatisPlus的自动配置

com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration#sqlSessionFactory

关联文章:

spring如何管理mybatis的事务

mybatis源码考究二(sqlsession线程安全和缓存失效)

本文为原创,转载请申明

http://www.yayakq.cn/news/37187/

相关文章:

  • 方城网站设计深圳市企业网站建设
  • 手机网站建设推广软文重庆公司注册官网入口
  • 南京网站建设报价西安网站建设ipv6
  • 公司网站制作设计价格WordPress鼠标点击特效
  • 已备案个人网站做淘宝客泉州晋江网站建设费用
  • 查建设公司人员是那个网站深圳龙华属于哪个区
  • 跨平台网站制作做网站 带宽 多少
  • 东莞常平网站建设注册推广赚钱一个30元
  • asp开发网站网站做实名验证
  • 成都住房和城乡建设部网站wordpress网站导入数据库
  • 成品源码站centos wordpress 建站教程
  • 深圳网站建设服务哪些便宜如何修改网站后台密码
  • php做视频网站有哪些竞价托管 微竞价
  • 临沂做网站的公司有哪些跨境电商怎么注册开店
  • 建立网站三大基础政务网站建设经验交流发言
  • 高端网站建设专家微微网站建设
  • 涂料网站模版网页建站专业公司
  • 手机网站源码 php电脑网站打不开是什么原因造成的
  • 宣城网站建设费用景区网站建设 现状
  • 网站建设 千助小学生家长网站建设需求
  • 无锡梅村网站建设网络推广公司犯法吗
  • 网站建设案例教程试卷网站如何seo推广
  • 建设电商网站的总结报告慈溪网站制作
  • 上海网站建设 建站猫和女人做的电影网站
  • 自己电脑上做网站怎么使用源码网站 不稳定
  • 阆中 网站建设做课件的网站有哪些
  • 服务器网站托管wordpress+vps建站
  • 网站开发打开世界之窗默认内核加盟哪家装修公司好
  • 网站备案所需资料做网站软文怎么弄
  • 如何在百度中搜索到网站哈尔滨建设工程交易中心