关系经济人类预测化学自然
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

springbootmybaties实现分库分表

9月17日 孤行者投稿
  1。导包必须有的!jdbcdependencygroupIdorg。springframework。bootgroupIdspringbootstarterjdbcartifactIddependency!Web依赖dependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependency!MySQL数据库配置dependencygroupIdmysqlgroupIdmysqlconnectorjavaartifactIdscoperuntimescopedependency
  2。修改数据源(applocation):2个mysqldb。url127。0。0。1db。usernamedevdb。passworddevmysqldatasource数据库访问配置默认spring。shardingsphere。datasource。saas。urljdbc:mysql:{db。url}:3306solbadgeplatformsaas?useUnicodetruecharacterEncodingutf8zeroDateTimeBehaviorconvertToNulluseSSLtruenullCatalogMeansCurrenttruespring。shardingsphere。datasource。saas。username{db。username}spring。shardingsphere。datasource。saas。password{db。password}spring。shardingsphere。datasource。saas。driverclassnamecom。mysql。jdbc。Driverspring。shardingsphere。datasource。saas。initialSize10spring。shardingsphere。datasource。saas。minIdle5spring。shardingsphere。datasource。saas。maxActive50配置获取连接等待超时的时间spring。shardingsphere。datasource。saas。maxWait60000配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring。shardingsphere。datasource。saas。timeBetweenEvictionRunsMillis60000spring。shardingsphere。datasource。saas。minEvictableIdleTimeMillis60000检测连接是否有效的sqlspring。shardingsphere。datasource。saas。validationQuerySELECT1FROMDUAL检测连接是否有效spring。shardingsphere。datasource。saas。testWhileIdletrue申请连接时执行validationQuery检测连接是否有效spring。shardingsphere。datasource。saas。testOnBorrowfalse归还连接时执行validationQuery检测连接是否有效spring。shardingsphere。datasource。saas。testOnReturnfalsespring。shardingsphere。datasource。saas。filtersstat,wall,log4jspring。shardingsphere。datasource。saas。logSlowSqltruemysqldatasource数据库访问配置spring。shardingsphere。datasource。gps。urljdbc:mysql:{db。url}:3306solbadgegps?useUnicodetruecharacterEncodingutf8zeroDateTimeBehaviorconvertToNulluseSSLtruenullCatalogMeansCurrenttruespring。shardingsphere。datasource。gps。username{db。username}spring。shardingsphere。datasource。gps。password{db。password}spring。shardingsphere。datasource。gps。driverclassnamecom。mysql。jdbc。Driverspring。shardingsphere。datasource。gps。initialSize10spring。shardingsphere。datasource。gps。minIdle5spring。shardingsphere。datasource。gps。maxActive50配置获取连接等待超时的时间spring。shardingsphere。datasource。gps。maxWait60000配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring。shardingsphere。datasource。gps。timeBetweenEvictionRunsMillis60000spring。shardingsphere。datasource。gps。minEvictableIdleTimeMillis60000检测连接是否有效的sqlspring。shardingsphere。datasource。gps。validationQuerySELECT1FROMDUAL检测连接是否有效spring。shardingsphere。datasource。gps。testWhileIdletrue申请连接时执行validationQuery检测连接是否有效spring。shardingsphere。datasource。gps。testOnBorrowfalse归还连接时执行validationQuery检测连接是否有效spring。shardingsphere。datasource。gps。testOnReturnfalsespring。shardingsphere。datasource。gps。filtersstat,wall,log4jspring。shardingsphere。datasource。gps。logSlowSqltrue
  3。设置mapper配置文件:两个(主要)packagecom。macro。mall。tiny。demo。importcom。alibaba。druid。pool。DruidDataSimportcom。baomidou。mybatisplus。core。MybatisCimportcom。baomidou。mybatisplus。extension。spring。MybatisSqlSessionFactoryBimportorg。apache。ibatis。session。SqlSessionFimportorg。mybatis。spring。annotation。MapperSimportorg。springframework。beans。factory。annotation。Qimportorg。springframework。beans。factory。annotation。Vimportorg。springframework。boot。context。properties。ConfigurationPimportorg。springframework。context。annotation。Bimportorg。springframework。context。annotation。Cimportorg。springframework。context。annotation。Pimportorg。springframework。core。io。support。PathMatchingResourcePatternRimportorg。springframework。jdbc。datasource。DataSourceTransactionMimportjavax。sql。DataSmapper设置authorYZSConfigurationMapperScan(basePackagesSmartDataSourceConfig。PACKAGE,sqlSessionFactoryRefsmartSqlSessionFactory)publicclassSmartDataSourceConfig{staticfinalStringPACKAGEcom。macro。mall。tiny。demo。dao。staticfinalStringMAPPERLOCATIONclasspath:mappingsaas。Value({spring。shardingsphere。datasource。saas。url})privateSValue({spring。shardingsphere。datasource。saas。username})privateSValue({spring。shardingsphere。datasource。saas。password})privateSValue({spring。shardingsphere。datasource。saas。driverclassname})privateStringdriverCBean(namesmartDataSource)PrimarypublicDataSourcesmartDataSource(){DruidDataSourcedataSourcenewDruidDataSource();dataSource。setDriverClassName(driverClass);dataSource。setUrl(url);dataSource。setUsername(user);dataSource。setPassword(password);returndataS}Bean(namesmartTransactionManager)PrimarypublicDataSourceTransactionManagerpaasTransactionManager(){returnnewDataSourceTransactionManager(smartDataSource());}BeanPrimaryConfigurationProperties(prefixspring。shardingsphere。datasource。druid)publicMybatisConfigurationglobalConfiguration(){returnnewMybatisConfiguration();}Bean(namesmartSqlSessionFactory)PrimarypublicSqlSessionFactorypaasSqlSessionFactory(Qualifier(smartDataSource)DataSourcesmartDataSource,MybatisConfigurationconfig)throwsException{finalSqlSessionFactoryBeansessionFactorynewSqlSessionFactoryBean();finalMybatisSqlSessionFactoryBeansessionFactorynewMybatisSqlSessionFactoryBean();sessionFactory。setDataSource(smartDataSource);TODO:2022312导致多数据源切换失效sessionFactory。setConfiguration(config);sessionFactory。setMapperLocations(newPathMatchingResourcePatternResolver()。getResources(SmartDataSourceConfig。MAPPERLOCATION));returnsessionFactory。getObject();}}
  另一份配置文件复制一份即可,不过有些参数需要改变,讲解:
  Primary代表默认数据库,第二份需要去掉
  MapperScanBean代表sql工程,dao层位置等,需要改掉不能和第一份一样吗,具体看你的applocation配置,最好方法名称也改掉。
  Value配置的数据库信息,两份不同
  4。创建文件:dao、mapper下都要配置两份,必须要和mapper配置文件中位置对应,否则无法生效。
  中间碰到了一些问题大部分都可以考百度摆平,当然如果你严格然后我说的操作,那就不会有问题,其中解决时间最长的是在配置文件中有一行代码,因为是复制别人的所有不是很明白为什么那么操作,有知道可以在评论里说下,谢谢。
  bug:数据库无法切换查询第二数据库时,debug中数据库值都已拿到,但是仍然查的是默认数据库,原因是在mapper配置文件中赋值了一个MybatisConfiguration,源代码如下:Bean(namesmartSqlSessionFactory)PrimarypublicSqlSessionFactorypaasSqlSessionFactory(Qualifier(smartDataSource)DataSourcesmartDataSource,MybatisConfigurationconfig)throwsException{finalSqlSessionFactoryBeansessionFactorynewSqlSessionFactoryBean();finalMybatisSqlSessionFactoryBeansessionFactorynewMybatisSqlSessionFactoryBean();sessionFactory。setDataSource(smartDataSource);TODO:2022312导致多数据源切换失效sessionFactory。setConfiguration(config);sessionFactory。setMapperLocations(newPathMatchingResourcePatternResolver()。getResources(SmartDataSourceConfig。MAPPERLOCATION));returnsessionFactory。getObject();}
  如果对你有用,创作不易请点个赞,谢谢。
投诉 评论 转载

只有1个精子能成功受孕,其他成千上百的同胞,都去哪了?阿伟和他的妻子已经有了两个孩子,他们决定不再要更多孩子,因此阿伟打算去做结扎手术。在和朋友聊天时,他听说做结扎手术后,男性体内原本应该排出体外的精子,会被吸收到身体里面,而不会……早安云南遇见秘境诗密娃底,童话般的诗意天堂李鹏摄总有一些声音,听到就能治愈心灵;总有一些美景大片,看了就会心驰神往;总有一些地方,听到它的名字就忍不住出发的脚步。诗密娃底,一个光听名字就让人无法自拔的人间天堂。……春风十里,不及相遇有你最深沉的爱,总是风雨兼程,最浓厚的情,总是冷暖与共,而最美的风景,不在远方,而在心上。春水初生,春林初盛,而春风十里,不及一路有你!我在老君山,等……苹果AppleMusic歌曲数量达到1亿首里程碑IT之家10月3日消息,苹果今日宣布,其AppleMusic音乐平台的歌曲达到了1亿首。苹果在官方新闻稿中称,从iTunes的发明和初代iPod首次亮相21年以来,我们已……springbootmybaties实现分库分表1。导包必须有的!jdbcdependencygroupIdorg。springframework。bootgroupIdspringbootstarterjdbcartifa……阿根廷拉普拉塔市发生球迷骚乱致至少1人死亡当地时间10月6日晚,在阿根廷拉普拉塔市举行的阿根廷职业联赛拉普拉塔体操击剑足球队对阵博卡青年队的比赛过程中,两队球迷在球场外发生骚乱,并与警方发生冲突,导致至少1人死亡。……CBA三消息广东引进内线替补,弗雷戴特已转型,林书豪享受当下大家好呀,我是北柠,各位小伙伴们要养成先看后赞的习惯哦!广东队这个赛季开局的表现并不是特别理想,球队由于疫情被隔离了起来,这直接导致了广东队输掉了揭幕战对阵北控队的比赛,……为什么小米和红米明明是一家人,却要被分割成两个品牌?一般来说,大众消费者口中的小米手机,指的是小米主品牌红米子品牌的手机。从这里我们可以发现,普通用户普遍把小米和红米混为一谈,但小米官方更倾向于进行内部分流,将主品牌和子品……选男人不看脸的女神!从林青霞到梅婷,个个嫁丑男娱乐圈中从不乏俊男靓女的情侣组合出现,让人觉得眼前一亮,不禁感叹帅哥和美女就是如此登对!但不知为何,也总有一些貌若天仙的大美女口味颇重,虽然和不少帅哥型男合作过,可无奈就是擦不……环球旅游文化(隆福寺)花语红墙意,潮弄山海奇推开时间之门,遇见你想要的美拍摄于2023年4月3日隆福寺,坐落在东四北大街西,始建于明代景泰三年(1452年),清雍正九年重修。隆福寺在明代是京城唯一的番(……抗逆力决定晚年生活质量近日,国家老年疾病临床医学研究中心的研究人员在《中华老年医学杂志》上发表了一篇综述文章,指出身体抗逆力下降是衰老的一个关键表现。国家老年医学中心、北京医院教授于普林介绍:……等不了新机的朋友看过来,这3部轻松用到2027年,最低198等不了新机的朋友看过来,这3部轻松用到2027年,最低1988到手一、vivoX80vivo官宣将于11月20日发布新机X90系列,不过X90曝光后倒是引发很多热议,不少……
苏王为啥周也VS张婧仪,傻傻分不清呢?绿维文旅自主旅游时代的概念特征景德镇御窑鸡缸杯,拍出2。8亿港元天价,厂区地下还埋着多少亿突发!江西男子幼儿园行凶致3死6伤,凶手已被抓获联发科推出第四代5G手机处理器尖精技术持续堆叠新年如何穿得又暖又时髦?慵懒休闲风穿搭示范,每一套都好看从扬言收购苹果到黯然退网,这些年罗永浩带给我们什么?鲜花触网拼多多打造直播间里的乡村振兴新样本真羡慕罗晋,妻子唐嫣穿抹胸裙现身苏州活动,1米72身材比例真赣州蓉江新区装配式建筑产业快速发展如何看待360发布的无追搜索,它存在的意义是什么?当代散文初识迎春花
7月手机销量,荣耀第三怎样写申请婚姻无效婚姻?立秋后,该吃它了!比牛肉便宜,比猪肉滋补,随手一蒸好吃到舔盘新鱼缸第一次怎样养水,养水几天可以养鱼衣服标签上的abc类代表什么?衣服等级abc哪个好?你觉得性教育太早,恶魔却不嫌你孩子太小防震减灾科普宣传教案深圳民事律师家暴一方能争取抚养权吗?热传聚热点网 5的乘法口诀的说课稿信用卡被盗刷后怎么办美联储慎言缩减购债,投资者期待杰克森霍尔会议给出答案草药可以带上火车吗

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州