都對着,為什么會報這個錯呢,mapper也拿到了,為什么查詢時出錯呢,最后看target里編譯的文件發現少了mapping,xml沒編譯過去。
我的目錄結構:dao層都編譯過去了,但mapper.xml沒有,那就是編譯沒包含進去

解決方法:pom文件里加上就好了。(然而並沒有)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include> </includes> </resource>
</resources>
</build>
好高興的看到target里有了xml文件,但是啟動還是報錯了,Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/classpath*:com/wskt/module/*/dao/mapping/**Mapper.xml]
原因:

這樣一個流程調下去,路徑沒有得到解析,所以找不到,
如果在配置類里就可以:
@Bean @ConfigurationProperties(prefix = "mybatis-plus") public SqlSessionFactoryBean sqlSessionFactory() throws IOException { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("com/wskt/module/*/dao/mapping/**Mapper.xml")); sqlSessionFactoryBean.setDataSource(dynamicDataSource()); return sqlSessionFactoryBean; }
原因找到了,就看怎么指定PathMatchingResourcePatternResolver
