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={""})注解,现在才完美;
启动--成功;
希望各路大神,纠正 指点 共同进步
相关文章推荐
- 关于IDEA中maven整合mybatis+spring+springMVC项目中mapper文件找不到问题的解决方案(org.apache.ibatis.binding.BindingExcepti
- [问题解决]关于Maven项目中无法加载MyBatis映射文件解决办法
- 解决maven同步的eclipse中的springboot项目无法启动问题
- maven项目 spring-boot 整合 mybatis 实现查询功能demo
- SpringBoot集成Mybatis时无法扫描Mapper问题
- Myeclipse下打包spring+jms集成的项目,解决打成的jar包报无法找到xml的context的schema的问题
- 关于Spring与mybatis整合无法读取配置文件的问题
- 关于spring boot整合mybatis使用oracle数据库出现could not load:oracle.jdbc.driver.OracleDriver问题的终极解决方案
- idea在搭建ssm框架时mybatis整合问题 无法找到mapper
- 创建Spring-Mybatis web项目,解决IDEA下找不到XXXmapper.xml文件的问题
- IDEA上搭建maven项目整合springboot+mybatis+shiro
- 在idea里使用SpringBoot整合MyBatis时遇到的Mapper扫描不到的问题
- spring mybatis 整合后mapper接口注入失败问题
- 关于spring boot无法自动注入bean问题解决方案
- 【问题解决】IDEA-Maven下Tomcat发布Web项目,遇到Jar包无法找到
- idea 创建的maven+spring+mybatis项目整合 报错无法创建bean
- 关于CXF整合Spring时出现jaxws.xsd无法找到的问题
- mybatis整合spring、springmvc时业务层无法进行事务回滚问题解决
- 关于Spring+MyBatis的MapperScannerConfigurer无法加载place-holder属性问题分析
- 关于Spring整合mybatis时配置MapperScannerConfigurer的问题