spring boot中整合mybatis使用注解遇到的一些问题

环境

JDK:JDK 1.8

IDE: IDEA 2020.1

浏览器: Chrome

测试:apizza

文件配置关系

  1. User
  2. Service
  3. Mapper
  4. mapper.xml

所遇问题

配置好映射路径,利用xml映射是没有问题的。

#配置mybatis规则
mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true

在使用注解@Select并进行查询时,出现了问题:

Error creating bean with name xxService

然后根据提示发现是没有办法创建相关的Service,大胆猜测是找不到相关的mapper文件。
Service中调用了SQL方法。

解决方法

把yaml文件中的相关mybatis 配置文件位置的注释掉就可以正常运行。(其实这个也不算解决,可能是IDEA之前的运行环境出现了某种不同寻常的问题,导致不能正常运行)

后续

但是,这个时候还有一个问题,如果SQL语句比较复杂,在注解中不好直接写的话,我们还得使用xml文件进行映射配置,那么这个时候是否就没有办法使用注解了呢(毕竟前文把yaml文件中的相关配置已经注释掉了)。

于是我就试了试又去除yaml文件中的注释,然后又在mapper.xml文件中配置了相关的SQL执行方法(insert 表单User信息)。但是这个时候再进行测试,发现提交方式为Get的Select方法可用,而提交方式为Post的insert方法也可用。

猜测原因

通过后续中的再次放入一个无注解方法,同时又取消了注释,可以看出yaml中的配置是不影响注解的。

但是却出现了意料之外的惊喜,我个人猜测可能是因为之前IDEA心情不太好,之后又像没事人一样。当然这个原因也不是我瞎猜的,之前使用awesome-font 图标库出现框框,让我也是检查了半天都没发现个所以然,结果第二天开机运行就好了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值