转载自https://blog.csdn.net/hanpenghu/article/details/83897618

springboot maven资源路径配置 resource路径配置, 解决mybatis的xml放在java路径而没有放在resource路径下报错的问题

2018年11月09日 14:48:26 hanpenghu 阅读数:99
 

我是这样配置的

  1.  
    <build>
  2.  
    <!--resources配置解决mybatis 的mapperXml配置在java路径不被扫描的问题 -->
  3.  
    <resources>
  4.  
    <resource>
  5.  
    <directory>src/main/java</directory>
  6.  
    </resource>
  7.  
    <resource>
  8.  
    <directory>src/main/resources</directory>
  9.  
    </resource>
  10.  
    </resources>
  11.  
    <plugins>
  12.  
    <plugin>
  13.  
    <groupId>org.springframework.boot</groupId>
  14.  
    <artifactId>spring-boot-maven-plugin</artifactId>
  15.  
    </plugin>
  16.  
    <!--跳过测试 -->
  17.  
    <plugin>
  18.  
    <groupId>org.apache.maven.plugins</groupId>
  19.  
    <artifactId>maven-surefire-plugin</artifactId>
  20.  
    <configuration>
  21.  
    <skipTests>true</skipTests>
  22.  
    </configuration>
  23.  
    </plugin>
  24.  
    </plugins>
  25.  
    </build>
  26.  
     
  27.  
     
  28.  
    </project>

然后在资源文件 application.properites里面配置mybatis的xml路径

  1.  
    server.port=8081
  2.  
     
  3.  
    #必须有
  4.  
    mybatis.mapper-locations=classpath*:com/hanhan/dao/xmlMapper/*.xml
  5.  
    #必须有
  6.  
    logging.config=classpath:logback.xml
  7.  
    #必须有
  8.  
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  9.  
    #必须有
  10.  
    spring.datasource.url=jdbc:mysql://127.0.0.1:3307/ipace?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT
  11.  
    #必须有
  12.  
    spring.datasource.username=root
  13.  
    #必须用
  14.  
    spring.datasource.password=root
  15.  
     
  16.  
     
  17.  
    #32位随机字符串
  18.  
    #dd9008e5ec8608c9eb9d57ab764651eb
  19.  
    rand.str = ${random.value}
  20.  
    #36位,比32位的多了4个-
  21.  
    #0cf88531-9569-44c4-926e-2528dd5948e2
  22.  
    rand.uuid = ${random.uuid}
  23.  
    #随机int类型,主意有负数
  24.  
    rand.intid = ${random.int}
  25.  
    #随机long类型
  26.  
    rand.longid = ${random.long}
  27.  
    #100以内的随机int类型
  28.  
    rand.number = ${random.int(100)}
  29.  
    #0-10亿范围内的随机int类型
  30.  
    rand.range = ${random.int[0,1000000000]}
  31.  
     

java的接口mapper路径扫描在启动类上配置 

  1.  
    import org.mybatis.spring.annotation.MapperScan;
  2.  
    import org.springframework.boot.SpringApplication;
  3.  
    import org.springframework.boot.autoconfigure.SpringBootApplication;
  4.  
    import org.springframework.scheduling.annotation.EnableScheduling;
  5.  
     
  6.  
    @SpringBootApplication(scanBasePackages = {"com.hanhan","hanhan"})
  7.  
    @MapperScan({"com.hanhan.dao"})
  8.  
    @EnableScheduling
  9.  
    public class BeetltestApplication {
  10.  
     
  11.  
     
  12.  
    public static void main(String[] args) {
  13.  
    SpringApplication.run(BeetltestApplication.class, args);
  14.  
    }
  15.  

贴完别人的  说下我的问题,

首先是引入springboot集成的mybatis的jar包

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency> 其次是applicatioin的配置文件配置数据库的连接等
spring:
datasource:
name: feibi
url: jdbc:mysql://****/i***
username: ***
password: ***
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20

applicatioin里还要配置mybatis的扫描xml文件位置

mybatis:
mapper-locations: classpath:mybatis/*.xml
config-location: classpath:conf/mybatis-config.xml
check-config-location: true

最后是启动类需要加入mapperscan

@MapperScan("com.*.*.dao")

mybatis的dao注入失败的更多相关文章

  1. mybatis的mapper注入失败

    因为处在两个不同的资源文件夹下: 导致classpath无法加载其中一些文件,所以修改为classpath*后顺利进行. <!-- 加载spring容器 --> <!-- neede ...

  2. Error creating bean with name 'unMblTotController': 注入失败

    今天新来的小伙子,进公司做项目,然后自己新建了包,出了以下错误 y.UnsatisfiedDependencyException: Error creating bean with name 'unM ...

  3. spring的bean注入扫瞄方法和mybatis的dao bean注入扫描方法

    spring的bean注入扫面方法:@ComponentScan(basePackages = "com.pingan.property.icore.pap.*")mybatis的 ...

  4. 关于SpringBoot集成myBatis时,mapper接口注入失败的问题

    问题描述: 在Spring Boot集成myBatis时,发现启动时,mapper接口一直注入失败. 现象如下: VehicleDAO就是需要的mapper对象,一个简单的接口. 已经在applica ...

  5. AOP 注入失败的问题

    启用了AOP 后,报这样的类似错误: Error creating bean with name 'bpmpSysUserService': Injection of autowired depend ...

  6. 记一次Spring的aop代理Mybatis的DAO所遇到的问题

    由来 项目中需要实现某个订单的状态改变后然后推送给第三方的功能,由于更改状态的项目和推送的项目不是同一个项目,所以为了不改变原项目的代码,我们考虑用spring的aop来实现. 项目用的是spring ...

  7. MyBatis学习--mybatis开发dao的方法

    简介 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法. 主要概念介绍: MyBatis中进行Dao开发时候有几个重要的类,它们是SqlSessionFac ...

  8. 四 mybatis开发dao的方法

    mybatis开发dao的方法 1.1     SqlSession使用范围 1.1.1     SqlSessionFactoryBuilder //以流的方式读取总的配置文件 Reader rea ...

  9. MyBatis开发Dao

    MyBatis开发Dao有两种方法: 1.原始Dao开发方法,就是程序需要编写Dao的接口和Dao的实现类. 2.MyBatis的mapper接口(相当于Dao接口)代理开发方法.(更重要) ---- ...

随机推荐

  1. Petya and Graph/最大权闭合子图、最小割

    原题地址:https://codeforces.com/contest/1082/problem/G G. Petya and Graph time limit per test 2 seconds ...

  2. xss-labs 通关学习笔记

    xss-labs 学习 By:Mirror王宇阳 time:2020/04/06 level1 我们进入到这个页面之后,快速关注到几个点,Xss注重的输入点,这里的输入点首先在URL栏中找到了name ...

  3. python基础 Day6

    python Day6 id 可以获得python的内存地址 id的举例子 a=100 print(id(a)) #140712544153072 这里就是该对象的内存地址 is 判断的是比较内存地址 ...

  4. elaticsearch

  5. go chan 缓存与阻塞

    原文链接:Go语言第十一课 并发(三)Channel缓存与阻塞 Channel的缓存 前面介绍过channel的创建方法: channel_test := make(chan string) 其实它完 ...

  6. html的鼠标双击,单击,移上,离开,事件捕捉,JavaScript

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Java数据结构——图的基本理论及简单实现

    1. 图的定义图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的:其中,点通常被成为"顶点(vertex)",而点与点之间的连线则被成为"边 ...

  8. OI常用数学定理&方法总结

    组合数计算($O(n)$) https://www.cnblogs.com/linzhuohang/p/11548813.html Lucas定理 如果要计算很大的组合数,但模数较小,考虑这个方法 对 ...

  9. Java方法传参,测试在方法内部改变参数内容是否会影响到原值

    我分了三种类型的参数进行测试 一.基本类型 public static void main(String[] args) { System.out.println("验证基本类型int作为参 ...

  10. hyperledger-fabric环境快速搭建踩坑集锦(实用)

    安装docker 及 docker-compose 安装docker没什么好说的,一部分教程都给出了指令,在这里就不谈了. docker-compose不同的教程给出了不同的方法,在这里介绍一种极为快 ...