亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis-plus配置多數據源出現invalid bound statement not found怎么解決

發布時間:2021-06-24 12:02:22 來源:億速云 閱讀:1859 作者:chen 欄目:大數據

本篇內容介紹了“mybatis-plus配置多數據源出現invalid bound statement not found怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、 環境

  1. 版本號

    <dependency>
         <groupId>com.baomidou</groupId>
         <artifactId>mybatis-plus-boot-starter</artifactId>
         <version>3.2.0</version>
    </dependency>


  2. 沒有使用myabtis-plus的多數據源依賴

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
        <version>2.5.7</version>
    </dependency>


二、 多數據源配置

  1. 啟動類配置

    @MapperScans({
            @MapperScan(basePackages = {"com.aaa.dao"}, sqlSessionFactoryRef = DatasourceConf.SESSION_FACTORY),
            @MapperScan(basePackages = {"com.bbb.dao"}, sqlSessionFactoryRef = OtherDatasourceConf.OTHER_SESSION_FACTORY)
    })


  2. 配置類

    @Configuration
    public class DatasourceConf {
        public static final String SESSION_FACTORY = "SessionFactory";
    
        @Primary
        @Bean(name = SESSION_FACTORY)
        public SqlSessionFactory dianOrderSessionFactory(MybatisProperties properties) throws Exception {
    		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
            sqlSessionFactoryBean.setDataSource(secondDatasource());
            //...
        }
    
        @Primary
        @Bean
        public DataSource secondDatasource() {
            return new HikariDataSource(secondHikariConfig());
        }
    
        @Bean
        @ConfigurationProperties(prefix = "spring.datasource.aaa.hikari")
        public HikariConfig secondHikariConfig() {
            return new HikariConfig();
        }
    }


    另一個數據源配置

    @Configuration
    public class OtherDatasourceConf {
        public static final String OTHER_SESSION_FACTORY = "otherSessionFactory";
    
        @Bean(name = OTHER_SESSION_FACTORY)
        public SqlSessionFactory otherSessionFactory(MybatisProperties properties) throws Exception {
    		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
            sqlSessionFactoryBean.setDataSource(otherDataSource());
            //....
        }
    
        @Bean
        public DataSource otherDataSource() {
            return new HikariDataSource(otherHikariConfig());
        }
    
        @Bean
        @ConfigurationProperties(prefix = "spring.datasource.hikari")
        public HikariConfig otherHikariConfig() {
            return new HikariConfig();
        }
    
    }


三、異常

mapper.xml中配置了sql的都沒問題,但是使用mybatis-plus的內置函數就會報invalid bound statement (not found)異常。

四、 解決

  1. 查看MybatisPlusAutoConfiguration

    @Configuration
    @ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})
    @ConditionalOnSingleCandidate(DataSource.class)
    @EnableConfigurationProperties(MybatisPlusProperties.class)
    @AutoConfigureAfter(DataSourceAutoConfiguration.class)
    public class MybatisPlusAutoConfiguration implements InitializingBean {
    
        @Bean
        @ConditionalOnMissingBean
        public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
            // TODO 使用 MybatisSqlSessionFactoryBean 而不是 SqlSessionFactoryBean
            MybatisSqlSessionFactoryBean factory = new MybatisSqlSessionFactoryBean();
            factory.setDataSource(dataSource);
    		...
            return factory.getObject();
        }
    }


  2. SqlSessionFactoryBean修改成myabtis-plus自定義的MybatisSqlSessionFactoryBean解決

  3. 注意mybatis-plus的配置需要使用MybatisPlusProperties而不是MybatisProperties

  4. 當配置類多個DataSourceMybatisPlusAutoConfiguration類就不再生效,需要手動配置

“mybatis-plus配置多數據源出現invalid bound statement not found怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬莱市| 昌平区| 鄂尔多斯市| 武安市| 运城市| 淳安县| 荔浦县| 揭东县| 宁强县| 汝城县| 南川市| 玛曲县| 克东县| 专栏| 大庆市| 蓬安县| 友谊县| 霍城县| 六枝特区| 孝感市| 孙吴县| 陆丰市| 建平县| 平邑县| 莲花县| 启东市| 上高县| 大丰市| 宜城市| 芜湖县| 台前县| 荥经县| 静海县| 石家庄市| 沁水县| 沧源| 郎溪县| 乌恰县| 凌云县| 吉林省| 永仁县|