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

it企业网站模板中国乐清

it企业网站模板,中国乐清,佛山市公司网站制作,长沙门户网站建设楔子#xff1a;当然#xff0c;世上有很多优秀的女性#xff0c;我也会被她们吸引。这对男人来说是理所当然的。但目光被吸引和内心被吸引是截然不同的。- 东野圭吾《黎明之街》 今日书签 在一些应用场景中#xff0c;可能需要连接多个不同的数据库#xff0c;例如连接不… 楔子当然世上有很多优秀的女性我也会被她们吸引。这对男人来说是理所当然的。但目光被吸引和内心被吸引是截然不同的。- 东野圭吾《黎明之街》 今日书签 在一些应用场景中可能需要连接多个不同的数据库例如连接不同的数据库服务器或者连接主从数据库。这段代码就是为了实现这种多数据源的配置。 具体来说这个类包含两个内部静态类 MyBatisDataSourceConfiguration4XMei 这个类配置了第一个数据源即 “xmei” 数据源。它使用了 Primary 注解来指示这是默认的主数据源。这个数据源配置了一个 Druid 数据源并配置了与该数据源相关的 SqlSessionFactory、事务管理器DataSourceTransactionManager和 SqlSessionTemplate。MapperScan 注解用于指示需要扫描哪些包下的 Mapper 接口并使用特定的 SqlSessionFactory。它还定义了 Mapper XML 文件的路径以及事务管理和 SqlSessionTemplate。MyBatisDataSourceConfiguration4XWei 这个类配置了第二个数据源即 “xwei” 数据源。它没有使用 Primary 注解因此不是默认的主数据源。它使用了 Qualifier 注解来指定特定的 Bean 名称用于解决多个数据源的冲突。与第一个数据源类似它配置了一个 Druid 数据源并定义了与该数据源相关的 SqlSessionFactory、事务管理器和 SqlSessionTemplate。 多数据源 使用 Service、Mapper、XML 所在包路径区分默认数据源 与 第二数据源。 直接看代码 /*** 多数据源接入* dataSource4XMei 为 xmei 库为默认数据源正常使用此处以外无其它配置* dataSource4XWei 为 xwei 库为第二数据源正常使用此处以外无其它配置*/ Configuration public class MyBatisConfiguration {/*** 配置 SpringBoot 默认数据源一般配置为主数据库此为 xmei*/ConfigurationMapperScan(basePackages {com.cw.tan.xmei.persistence.*}, sqlSessionFactoryRef sqlSessionFactory4XMei)protected static class MyBatisDataSourceConfiguration4XMei {BeanPrimaryConfigurationProperties(spring.datasource.druid.xmei)public DataSource dataSource4XMei() {return DruidDataSourceBuilder.create().build();}BeanPrimarypublic SqlSessionFactory sqlSessionFactory4XMei(DataSource dataSource4XMei) throws Exception {SqlSessionFactoryBean sqlSessionFactoryBean new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSource4XMei);sqlSessionFactoryBean.setMapperLocations(this.resolveMapperLocations());return sqlSessionFactoryBean.getObject();}private Resource[] resolveMapperLocations() {ResourcePatternResolver resourceResolver new PathMatchingResourcePatternResolver();ListString mapperLocations new ArrayList();mapperLocations.add(classpath*:com/cw/tan/xmei/persistence/**/*.xml);ListResource resources new ArrayList();if (!CollectionUtils.isEmpty(mapperLocations)) {for (String mapperLocation : mapperLocations) {try {Resource[] mappers resourceResolver.getResources(mapperLocation);resources.addAll(Arrays.asList(mappers));} catch (IOException e) {// ignore}}}return resources.toArray(new Resource[resources.size()]);}/*** 配置事务管理*/BeanPrimarypublic DataSourceTransactionManager transactionManager4XMei(DataSource dataSource4XMei) {return new DataSourceTransactionManager(dataSource4XMei);}BeanPrimarypublic SqlSessionTemplate sqlSessionTemplate4XMei(SqlSessionFactory sqlSessionFactory4XMei) {return new SqlSessionTemplate(sqlSessionFactory4XMei);}}/*** 配置第二数据源注意 mapper 扫描路径和上面的区分开*/ConfigurationMapperScan(basePackages {com.cw.tan.xwei.log.mapper,com.cw.tan.xwei.sms.mapper, com.cw.tan.xwei.job.mapper}, sqlSessionFactoryRef sqlSessionFactory4XWei)protected static class MyBatisDataSourceConfiguration4XWei {Bean(name dataSource4XWei)ConfigurationProperties(spring.datasource.druid.xwei)public DataSource dataSource4XWei() {return DruidDataSourceBuilder.create().build();}Bean(name sqlSessionFactory4XWei)public SqlSessionFactory sqlSessionFactory4XWei(Qualifier(dataSource4XWei) DataSource dataSource4XWei) throws Exception {SqlSessionFactoryBean sqlSessionFactoryBean new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSource4XWei);sqlSessionFactoryBean.setMapperLocations(this.resolveMapperLocations());return sqlSessionFactoryBean.getObject();}private Resource[] resolveMapperLocations() {ResourcePatternResolver resourcePatternResolver new PathMatchingResourcePatternResolver();ListString mapperLocations new ArrayList();mapperLocations.add(classpath*:com/cw/tan/xwei/log/**/*.xml);mapperLocations.add(classpath*:com/cw/tan/xwei/sms/**/*.xml);mapperLocations.add(classpath*:com/cw/tan/xwei/job/**/*.xml);ListResource resources new ArrayList();if (!CollectionUtils.isEmpty(mapperLocations)) {mapperLocations.forEach(mapperLocation - {try {Resource[] mappers resourcePatternResolver.getResources(mapperLocation);resources.addAll(Arrays.asList(mappers));} catch (IOException e) {// ignore}});}return resources.toArray(new Resource[resources.size()]);}Bean(name transactionManager4XWei)public DataSourceTransactionManager transactionManager4XWei(Qualifier(dataSource4XWei) DataSource dataSource4XWei) {return new DataSourceTransactionManager(dataSource4XWei);}Bean(name sqlSessionTemplate4XWei)public SqlSessionTemplate sqlSessionTemplate4XWei(Qualifier(sqlSessionFactory4XWei) SqlSessionFactory sqlSessionFactory4XWei) {return new SqlSessionTemplate(sqlSessionFactory4XWei);}} }注意上述配置请确认自己的默认数据源、第二数据源对应Service、DAO文件所在的包路径如果路径指向不对可能会出现以下异常 2023-08-17 16:09:33.981 [TID:] [main] WARN AnnotationConfigServletWebServerApplicationContext.refresh():559 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataDataSyncController’: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type ‘com.cw.tan.xwei.job.IDataSyncService’ available: expected single matching bean but found 2: dataSyncServiceImpl,IDataSyncService 总结 这段代码通过两个内部静态类分别配置了两个不同的数据源xmei 和 xwei。每个数据源配置了对应的 Druid 数据源、SqlSessionFactory、事务管理器和 SqlSessionTemplate。这种多数据源配置适用于需要访问多个不同数据库的场景如在一个系统中同时连接多个数据库来进行不同的操作比如主数据库和日志数据库、数据库与业务库数据同步等。 如果还需要扩展更多数据源则可将上述 第二数据源配置 进行复制粘贴然后做相应名称、包路径的修改即可。
http://www.zqtcl.cn/news/220998/

相关文章:

  • 深圳网站建设领先天津建设企业网站
  • 网站建设犭金手指C排名15温州 建网站的公司
  • 邢台建设银行官方网站公众号开发者密码是什么意思
  • 网站录入信息 前台查询功能怎么做营销网站主题有哪些内容
  • 网站SEO的评价触屏音乐网站源码
  • 网站开发u盘128够吗网站建设是固定资产嘛
  • 网站域名备案信息wordpress搜索文章内容
  • 出口退税在哪个网站做怎么在一起做网站上拿货
  • 网站友链查询传到网站根目录
  • 网站服务器端口设置北京专业网络直播制作
  • 可以免费做演播的听书网站南京企业自助建站
  • 软件下载类型网站怎么做长沙官网优化技术
  • 药品网站订单源码外贸网站建设服务器
  • 深圳网站制作07551免费开发网站
  • 如何直接用jsp做网站不写servletwordpress模板 单栏
  • 长沙网站建设哪个公司好设计公司网站 唐山
  • 原创小说手机网站制作需要多少钱郴州seo外包
  • 深圳市大鹏建设局网站网站关键词没排名怎么办
  • 水果商城网站制作多少钱c#如何做公司网站
  • 国内做进口的电商网站网站建设的经验做法
  • 蚂蚁搬家公司官方网站免费网站软件制作
  • 搭建网站要用到的工具外链代发免费
  • 肥城网站建设流程oem中国代加工网
  • 到底建手机网站还是电脑网站网站视频怎么做
  • 小区网站建设前端手机网站
  • 做一个网站价格WordPress好看的404
  • 查看注册过的网站在线网站软件免费下载
  • 门户网站建设公司价位域名出售网站
  • 亿级流量网站架构自己制作一个网站
  • 企业网站seo成功案例天津网站建设制作品牌公司