欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mybatis-plus配置多數(shù)據源出現(xiàn)invalidboundstatementnotfound怎么解決

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

創(chuàng)新互聯(lián)建站主要從事網站設計、做網站、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務嵐縣,十年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

一、 環(huán)境

  1. 版本號

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

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

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

二、 多數(shù)據源配置

  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();
        }
    }

    另一個數(shù)據源配置

    @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的內置函數(shù)就會報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. 當配置類多個DataSource,MybatisPlusAutoConfiguration類就不再生效,需要手動配置

“mybatis-plus配置多數(shù)據源出現(xiàn)invalid bound statement not found怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!

文章名稱:mybatis-plus配置多數(shù)據源出現(xiàn)invalidboundstatementnotfound怎么解決
網站路徑:http://chinadenli.net/article16/gdoegg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站制作、全網營銷推廣、App開發(fā)網站營銷、移動網站建設、網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設