Fork me on GitHub

感觉是idea的一个bug

近来使用idea做web开发一直使用的都很爽,直到遇到这么个奇怪的问题,就不爽了。
使用mybatisplus时我们知道需要自己配置dao接口跟xml的映射,配置都是没问题的,在resources下面新建了一个mapper文件夹,我们需要将自己写的xml放在里面,由于我们为了细分模块再mapper下面继续要分文件夹再放xml文件,当我新建了mapper文件夹后,再在mapper上面添加一个文件夹A是没问题的,只是显示的是mapper.A,这样我需要添加文件夹B时,我是新建mapper.B这样的形式来添加,它没有和A显示成并列的子文件夹,而是显示的mapper.B,我开始以为idea就是这样设计的,没在意,后来遇到B里面的xml跟dao绑定失败才发现问题。原来mapper.B,idea真的就把这整个当一个文件夹名了,我在debug时发现mapperstate里面找不到B里面的dao,所以它才会匹配失败抛invalid bound statement异常,发现A下面的方法是可以映射到的,看了下映射的路径,是target/**/mapper/A/*.xml,这个映射路径是对的,跟我想的一样,而我跑到target下面找B时发现路径是mapper.B这个东西,才知道idea将这个A和B没有并列在一个目录下面。但是我怎么改resources里面的目录他都是mapper.A mapper.B的这样显示,我后来想来一招,先将里面的子文件拿到resources下面,再将mapper.A和mapper.B文件删除后新建mapper文件夹,最后将A和B子文件夹同时复制到mapper下面,这样idea显示就是一层一层的了:

mapper--
              A
              B

显示成这样的了。
再部署B和dao绑定就正常了。


最新评论

    还没有人评论...

当当

友情链接

Powered by Python. Copyright © 2017.

鄂ICP备17010875号. All rights reserved.