一开始考虑的是路径问题,查看mapper文件夹下的UserMapper是否添加了@Mapper注解,添加上之后还是报找不到类的错误,所以在启动类中加上了@MapperScan("com.example.demo.mapper"),添加完后启动报Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
于是怀疑是不是jar包有问题,因为查了资料说是
这个jar包1.3.2和1.2.0版本都不支持sqlSession和sqlSessionTemplate主动注入了,所以我就改了版本1.1.0还是不行,查看资料还有说手动添加配置类的,但是我这个用的是注解,是接口所以不能添加。
后面考虑是不是配置文件的问题,所以就把application.properties改成yml形式,还是失败。
最终发现是因为我在启动类的注解上加了
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
解释一下:括号里面的表示忽略数据源,也就是说数据源不会主动注入到spring中,然而mybatis就是用来配置数据源的东西,所以就会报错。这个博客是详细解释:https://www.cnblogs.com/mkl34367803/p/11218082.html