spring cloud 引入公共專案jar,可以訪問controller以及相同資料庫mybatis

哈哈哈哈蜜瓜發表於2020-03-27

背景:

我們開發bi元件,作為公共產品,其中包含資料包,圖表,圖冊對應的功能介面。

包含mvc一套

而後續為了推廣到各個省份,但是bi工具平臺依然在更新功能,那麼這裡以jar包引入到其他業務省份。

1. 在pom中引入bi產品專案

<dependency>
			<groupId>com.boco.mpss</groupId>
  			<artifactId>MPSS-BI</artifactId>
			<version>${project.version}</version>
</dependency>

2. 在application啟動類增加註解

@ComponentScan(basePackages = {
    "com.boco" })

這樣就可以訪問controller了、

3. 但是我在測試的時候發現訪問mybatis的時候,報錯org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.boco.wbs.function.custom.dao.CustomMapper.getAddress

找不到對應的xml

解決方案:

修改yml配置檔案

修改前是這樣寫的讀本地xml

mybatis:
  configuration:
    aggressive-lazy-loading: 'false'
    cache-enabled: 'true'
    default-executor-type: REUSE
    default-statement-timeout: 25000
    lazy-loading-enabled: 'false'
    multiple-result-sets-enabled: 'true'
    call-setters-on-nulls: true
  mapper-locations: classpath:mybatis/*.xml   -- 這裡是這樣讀取本地

修改後可以讀到jar中

  mapper-locations: classpath*:mybatis/*.xml

在classpath後面增加  * 就可以了

相關文章