没有.idea文件夹_用Idea学习Mybatis碰到的问题

c110cd153b311dd520d94ef83417c679.png
初学Mybatis, 遇到了一个Invalid bound statement (not found)错误, 由此引发的猜想和解决办法, 原来是Idea的使用方式错误

遇到问题的思路

当时报的错是

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.crb.mapper.UserMapper.selectById

查了对应的namespace和id并没有错, 映射器扫描接口也没有写错包名, 然后我把映射器换成了指定名称, 结果测试类, 顺利通过了, 那么也就是说, 并不是找不到接口中的方法, 而是没有找到对应的配置.

查了好久, 还是不知道是哪错了, 无意中看到target目录, 我隐约知道, 是什么问题了

当时target目录结构如下

841e9ae11bd41114b0fb7491e2178d35.png

就是这样的, 两个看上去同名的两个文件夹, 竟然没有合并到一起(忽略有两个UserMapper.xml, 当时测试文件夹时备份到了那)

当时对比了两个文件夹名称, 一样鸭, 名称一模一样, 为什么不合并呢?

最后折腾了一上午, 我终于发现了问题所在.

再上两张图, 你们看一下有什么不同

下面这张是有问题的目录结构

c45ea711c8c4dfbcd8a1776fd4f0b15b.png

下面这张是没有问题的目录结构

34477c4a0d4db87513024746ccc84284.png

是的, 相信你已经看出来了. 引发这个问题的原因就是: 一开始resources目录下的文件夹全称叫 com.crb.mapper 也就是这是一个文件夹, 而不是三个, 当时我以为这是三个文件夹. 心累

解决办法

  1. 创建文件夹时候一层一层创建, 在resources下创建com, 然后在com下创建crb, 然后在crb下创建mapper(累死了有没有, 一个智能的IDE怎么会这样, 灵机一动, 我换了一种方式, 竟然好使, 开心)
  2. 创建文件夹的时候由原本的com.crb.mapper改成com/crb/mapper这样问题就解决了

遇到问题, 还是需要多思考, 多去试试, 才能找到答案. 特此记录一下. Idea这个问题, 我搜了好多, 都没找到好的解决办法, 如果你有更好的, 欢迎留言.

详细的问题描述在这里:

https://blog.csdn.net/qq_34033853/article/details/91990551​blog.csdn.net
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值