yml已经配置了mybatis,启动过程中还是提示Invalid bound statement

对于跟着网上视频学习spring-boot和mybatis整合的初学者来说,你很可能遇到这种下面错误。

问题:yml中文件已经配置了mybtis,但是还是提示错误信息,如何解决呢?

解决思路:
1、 先参考下网上大部分的说法

  • 按以下步骤检查一般就会解决问题:
    1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应;
    2:检查xml的namespace是否和xml文件的package名称一一对应;
    3:检查方法名称是否对应;
    4:去除xml文件中的中文注释;
    5:随意在xml文件中加一个空格或者空行然后保存。

2、 自己在确认上面的情况都正常的情况下,百思不得其解,最后的找出了原因

  • 搭建的项目有两个配置文件:application.yml和application-dev;
  • 这里写图片描述
  • 我们在使用时需要注意的是:只需要在application.yml中指定运行哪个环境的文件就是了,其它什么数据配置信息等就不要在application.yml中重复配置了,比如
  • application.yml这里写图片描述
  • application-dev.yml这里写图片描述
  • PS:spring-boot因为默认从主文件application.yml中加载配置信息,所以不指定的话,不要以为在dev中配置了就会生效!!!当application.yml中配置好了,才会从application-dev.yml中加载相应的配置参数信息。
  • 当然你也可以只用一个yml文件,比如只保留application.yml,里面两样可以配置两种启动参数
spring:
 profiles: dev
 datasource:
   url: jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
   username: root
   password: root
   db-name: test

spring:
  profiles: dev
  datasource:
    url: jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: root
    db-name: test

其它参考资料:

  1. Spring Boot 集成Mybatis Mysql
    Druid
  2. Spring boot Mybatis 整合(完整版)
  3. Spring加载resource时classpath*:与classpath:的区别
  4. Invalid bound statement (not found)
  5. SpringBoot如何导入自定义配置的yml文件
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值