1. 程式人生 > 實用技巧 >關於idea的目錄, mybatis裡mapper無法用resource獲取 和 駝峰命令規則

關於idea的目錄, mybatis裡mapper無法用resource獲取 和 駝峰命令規則

<mappers> <mapper resource="com/choco/dao/BlogMapper.xml"/> </mappers>
我在resources下面建立和 main/java同樣的目錄, 通過resource獲取到xml檔案, 但是不可以, 我很模糊, 因為之前我是可以的.

解決辦法:

  1. idea裡面一次建立例如:com.choco.dao包 和 分三次建立是一樣的. 雖然可能無法展開, 但確實效果是一樣的
  2. 如果你的mapper介面和對映xml檔案不在一個目錄, 比如你把xml檔案放在了resources下面, 那麼你需要在pom.xml新增這段程式碼.


    src/main/resources


    /*.properties
    /.xml



    src/main/java

    **/
    .properties
    **/*.xml

    true

這是因為sqlSessionFactoryBean.setMapperLocations(resolver.getResource(packageSearchPath));
即sqlSessionFactoryBean呼叫的方法是getResource, 這個方法從類的根路徑下獲取檔案.
而在mybatis裡面, mian/java下面類的根路勁為 target/classes
所以只要你的根路勁下面沒有xml對映檔案, 那麼config檔案裡面,註冊mapper就無法成功.

在setting裡面沒有開啟mapUnderscoreToCamelCase, 依然可以識別, 不知道這是不是idea自動做了.