返回顶部
首页 > 资讯 > 后端开发 > Python >spring boot下mybatis配置双数据源的实例
  • 146
分享到

spring boot下mybatis配置双数据源的实例

2024-04-02 19:04:59 146人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录单一数据源配置多个数据源配置多数据源配置文件多数据源配置类最近项目上遇到需要双数据源的来实现需求,并且需要基于Spring Boot,mybatis的方式来实现,在此做简单记录。

最近项目上遇到需要双数据源的来实现需求,并且需要基于Spring Bootmybatis的方式来实现,在此做简单记录。

单一数据源配置

单一数据源配置的话并没有什么特别的,在spring boot框架下,只需要在配置文件内添加对应的配置项即可,spring boot会自动初始化需要用到的bean。

配置信息如下。这里使用的是德鲁伊的数据源配置方式


#datasource配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.Mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://xxx
spring.datasource.username=root
spring.datasource.passWord=123456
#mybatis配置
#mybatis  xmlMapper文件路径
mybatis.mapper-locations=classpath:META-INF/mybatis/mapper
@Configuration
public class OdsMybatisConfig {
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    @Primary
    public DataSource odsDataSource(){
        return DataSourceBuilder.create().build();
    }
    @Bean
    @Primary
    public sqlSessionFactory odsSqlSessionFactory(DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        //设置mapper.xml文件路径
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:META-INF/mybatis/mapper
@Configuration
public class WmsMybatisConfig {
    @Bean
    @ConfigurationProperties(prefix = "second.datasource")
    @Qualifier("wmsDatasource")
    public DataSource wmsDataSource(){
        return DataSourceBuilder.create().build();
    }
    @Bean
    @Qualifier("wmsSqlSessionFactory")
    public SqlSessionFactory wmsSqlSessionFactory(@Qualifier("wmsDataSource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:META-INF/mybatis/wms/mapper/*Mapper.xml"));
        bean.getObject();
        SqlSessionFactory sqlSessionFactory = bean.getObject();
        //设置wms数据源额外的mapper.java注册
        //sqlSessionFactory.getConfiguration().addMappers("com.xx.maper");
        return sqlSessionFactory;
    }
    @Bean
    public DataSourceTransactionManager wmsTransactionManager(@Qualifier("wmsDataSource") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }
    @Bean
    @Qualifier("wmsSqlSessionTemplate")
    public SqlSessionTemplate wmsSqlSessionTemplate( @Qualifier("wmsSqlSessionFactory") SqlSessionFactory wmsSqlSessionFactory) throws Exception {
        return new SqlSessionTemplate(wmsSqlSessionFactory);
    }
}

通过上面的配置就可以实现双数据源配置,下面是使用方式。

  • 第一个数据源定义的maper由spring容器管理,可以直接使用@Resource注解使用
  • 第二个数据源使用可能比较麻烦,代码如下

//依赖注入第二个数据源的SqlSession
@Resource
@Qualifier("wmsSqlSessionTemplate")
SqlSessionTemplate wmsSqlSessionTemplate;
//使用时手动获取Mapper然后调用接口方法
wmsSqlSessionTemplate.getMapper(ReturnResultRecoderMapper.class).selectTest()

最后需要注意一点就是,使用上面的配置方式,mybatis的结果处理器对下划线结果集合并没有自动转换为驼峰方式,需要手动在sql中定义别名。

例如实体


class People{
    private String peopleGender;
}

mybatis执行sql,结果集映射为People类。


sekect people_gender from people;

people_gender这个结果无法自动映射到peopleGender,需要执行以下sql才能映射上


sekect people_gender as peopleGendler from people;

所以这个配置过程应该是漏了某些配置导致结果处理器的名称映射不起作用,这个问题先mark。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: spring boot下mybatis配置双数据源的实例

本文链接: https://lsjlt.com/news/136997.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • spring boot下mybatis配置双数据源的实例
    目录单一数据源配置多个数据源配置多数据源配置文件多数据源配置类最近项目上遇到需要双数据源的来实现需求,并且需要基于spring boot,mybatis的方式来实现,在此做简单记录。...
    99+
    2024-04-02
  • Spring boot中如何配置Mybatis多数据源
    本篇文章为大家展示了Spring boot中如何配置Mybatis多数据源,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。环境准备实验环境:JDK 1.8Spring...
    99+
    2024-04-02
  • 详解Spring Boot整合Mybatis实现 Druid多数据源配置
    一、多数据源的应用场景目前,业界流行的数据操作框架是 Mybatis,那 Druid 是什么呢?Druid 是 Java 的数据库连接池组件。Druid 能够提供强大的监控和扩展功能。比如可以监控 SQL ,在监控业务可以查询慢查询 SQL...
    99+
    2023-05-31
    spring 多数据源 spring boo
  • spring+mybatis多数据源的配置
    解决方案:多套sqlSessionFactory,针对不同的数据源数据源Xml代码  <something-else-entirely>   &...
    99+
    2024-04-02
  • 【Java】Spring Boot配置动态数据源
    SpringBoot配置动态数据源 一、动态多数据源的配置 1.1 创建动态数据源 通过实现Spring提供的AbstractRoutingDataSource类,可以实现自己的数据源选择逻辑,从而可...
    99+
    2023-09-15
    java spring boot 开发语言
  • Spring boot 数据源未配置异常的解决
    Spring boot 数据源未配置异常 问题 在使Springboot自动生成的项目框架时如果选择了数据源,比如选择了mysql,生成项目之后,启动会报一下异常: Descrip...
    99+
    2024-04-02
  • Spring Boot配置多数据源的四种方式
    1、导读 在日常开发中我们都是以单个数据库进行开发,在小型项目中是完全能够满足需求的。 但是,当我们牵扯到像淘宝、京东这样的大型项目的时候,单个数据库就难以承受用户的CRUD操作。 那么此时,我们就需要使用多个数据源进行读写分离的操作,这种...
    99+
    2023-08-20
    spring boot java 数据库 mybatis 后端
  • 解决spring boot 1.5.4 配置多数据源的问题
    spring boot 已经支持多数据源配置了,无需网上好多那些编写什么类的,特别麻烦,看看如下解决方案,官方的,放心!1.首先定义数据源配置#=====================multiple database config===...
    99+
    2023-05-31
    springboot 多数据源 配置
  • Spring Boot 2.7.5 HikariCP 连接池多数据源配置
    一. 引言 当前项目遇到需要连接多个数据库的场景,此时需要引入多数据源了. 还有一些诸如以下的场景: 与第三方对接时,有些合作方并不会为了你的某些需求而给你开发一个功能,他们可以提供给你一个可以访...
    99+
    2023-08-31
    spring boot mybatis java
  • 详解基于Spring Boot与Spring Data JPA的多数据源配置
    由于项目需要,最近研究了一下基于spring Boot与Spring Data JPA的多数据源配置问题。以下是传统的单数据源配置代码。这里使用的是Spring的Annotation在代码内部直接配置的方式,没有使用任何XML文件。@Con...
    99+
    2023-05-31
    spring boot 多数据源
  • springboot + JPA 配置双数据源实战
    目录springboot + JPA 配置双数据源1、首先配置application.yml文件设置主从数据库2、使用配置类读取application.yml配置的两个数据源3、然后...
    99+
    2024-04-02
  • Spring Boot整合Mybatis的配置方法
    这篇文章主要讲解了“Spring Boot整合Mybatis的配置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot整合Mybatis的配置方法”吧!目录配置文件形式p...
    99+
    2023-06-20
  • 如何解决Spring boot数据源未配置异常
    本篇内容主要讲解“如何解决Spring boot数据源未配置异常”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Spring boot数据源未配置异常”吧!Spring boot 数据源未...
    99+
    2023-06-20
  • 多数据源怎么利用spring boot进行配置
    本篇文章给大家分享的是有关多数据源怎么利用spring boot进行配置,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。多数据源配置创建一个Spring配置类,定义两个DataS...
    99+
    2023-05-31
    springboot 多数据源
  • 怎么配置MyBatis的数据源
    要配置MyBatis的数据源,首先需要在MyBatis的配置文件中指定数据源的信息。以下是一个示例配置文件: <xml ver...
    99+
    2024-03-07
    MyBatis
  • Spring Boot配置文件实例分析
    今天小编给大家分享一下Spring Boot配置文件实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • SpringBoot+Jpa项目配置双数据源的实现
    目录引言配置yml文件创建数据源配置类为每个数据库创建配置类引言 今天为大家带来一些非常有用的实战技巧,比如在我们需要对两个数据库进行操作的时候而哦我们通常用的只是单数据库查询,这...
    99+
    2024-04-02
  • Spring Boot多数据源处理事务实例分析
    这篇“Spring Boot多数据源处理事务实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring&n...
    99+
    2023-06-30
  • ssm怎么配置双数据源
    在 AWS Systems Manager (SSM) 中配置双数据源可以通过以下步骤完成:1. 登录 AWS 管理控制台并打开 S...
    99+
    2023-09-21
    ssm
  • springboot怎么配置双数据源
    在Spring Boot中配置双数据源,可以使用多个数据源的配置,并为每个数据源创建对应的Bean。以下是配置双数据源的步骤:1. ...
    99+
    2023-10-27
    springboot
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作