0
点赞
收藏
分享

微信扫一扫

springboot3整合mybaitis plus动态数据源报错:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

mybaitis plus 是国内苞米豆团队开发维护的,而springboot3作为最新的springboot版本,兼容性总有些问题,报上面错误,基本确定就是版本互相不兼容导致的,困扰我一天,直接上解决方案:

1 pom文件;注意数据源配置 和启动stater都是spring-boot3;

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>com.lee</groupId>
    <artifactId>mybatis-plus-dynamic-datasource</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.0</version>
    </parent>
 
    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <mybatis-plus-boot-starter.version>3.5.3.1</mybatis-plus-boot-starter.version>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.4.1</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
            <version>4.2.0</version>
        </dependency>
        <!-- MySQL驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
 
 
    </dependencies>
</project>

2 yaml配置文件

server:
  port: 8081
spring:
  application:
    name: dynamic-datasource
  datasource:
    dynamic:
      datasource:
        mssql_db:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://xxxx:3506/registerreward?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
          username: xxx
          password: xxxx
        mysql_db:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://xxxx:3306/dbs_pv?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
          username: xxx
          password: xxxxx
      primary: mssql_db
      strict: false
 
mybatis-plus:
  mapper-locations: classpath:mappers/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

最后 排除自动装配数据源即可,这注解是为了排除springboot的自动配置,有的项目可以不加,所以,根据自己的实际情况添加。

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

总结; mybaitis plus相关的问题 ,极大可能就是版本冲突问题,遇到问题就往他们官网社区看问题即可,不必怀疑自己写错了,极大概率是框架本身问题。希望该文能对你有帮助。


举报

相关推荐

0 条评论