您的位置:首页 > 移动开发

Maven项目中,关于Spring Boot 整合MyBatis时,Service层无法找到mapper接口的问题解决

2017-09-14 09:33 1296 查看
1 需要加载MyBatis的依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
2 加载数据库链接以及数据库链接池的依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.3</version>
</dependency>
备注:我使用的是Idea编译器,加载Spring的依赖时,先加载了parent依赖,所以大部分的依赖没有具体的版本,Spring Boot会自动的加载适合的版本;

检查依赖是否加载成功的办法:
1 重要的依赖加载完毕后,可以先启动工程,是否能够启动成功,检查一下依赖加载的是否正确;
此时如果没有在application.yml文件中配置数据库的相关配置,会报错;
一般数据库相关数据配置成功,就可以成功启动;

创建项目结构:
dao:
mapper:(映射文件)
dto:
Service:
impl:
controller:

基本上按照的是MVC的架构思想创建的项目;

MyBatis配置+注解:
1 Idea的检查功能很强,在编译时期,如果在Mapper层没有添加@Repository注解,在Service层就无法注入Bean的错误,所以最好加上;
2 在application.yml文件中添加mybatis 的配置:
mybatis:
mapperlocations: classpath:com/xxx/xxx/dao/mapper/*.xml  -----扫描映射文件
config-location: classpath:mybatis-config.xml  ------扫描配置文件
注意:路径要以/ 分割
3 Mybatis 的核心配置文件 mybatis-config.xml的配置文件,虽然Spring Boot已经将数据库的配置设置好了,但是即使是一个空的配置文件也要放在resouse目录根目录下;
(因为里面设置 Spring Boot 代替不了的设置:比如 驼峰映射、是否开启二级缓存等重要的设置);
本以为配置完上面已经很完美了,谁知还是太年轻了:
继续配置:
注意:
1 如果将映射文件不放在resouse目录下,则必须在pom中加载:
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
加载到<build>标签下;
如果此时启动项目还是找不到mapper,那么就在启动类上加上注解:@MapperScan(basePack={""})注解,现在才完美;
启动--成功;
希望各路大神,纠正 指点 共同进步





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐