为了账号安全,请及时绑定邮箱和手机立即绑定

Mubatis的mapper路径配置问题

标签:
Java

整合mybatis和spring的时候出了点问题,我把mapper映射文件配置在了resource文件夹下,在mybatis-config.xml内部声明mapper调用的时候控制台一直报错,几经研究发现是没有给我的mapper设置namespace。
这是在mybatis-config.xml中配置各种mapper:

<!-- mappers告诉了MyBatis去哪里找持久化类的映射文件 -->
    <mappers>
        <mapper resource="UserMapper.xml"/>
        <mapper resource="mapper/NewUserMapper.xml"/>
    </mappers>

可以看一下我的文件结构是这样的:


刚开始测试的时候我就没有吧mapper写在java的目录下,而是写在了resource文件夹下,在实际操作中发现如果我是mapper文件夹里面的xml映射文件就不能被识别,也就是上面的代码第一行有作用第二行没作用。

解决措施:

在mapper.xml文件的mapper标签后面加上namespace属性,这个是用户自定义的命名空间,我的理解是我们认为存放的路径虽然按照实际路径用英文格式书写出来,但是实际运行中他并不会按照地址去匹配我要的xml文件,所以我们需要建立一个传送门一样的机制——namespace,做到一一对应,一个写在mybatis-config.xml中,另一个写在相应的mapper文件的namespace属性后面。这样就能让mybatis知道去哪找持久化的映射文件咯。

附上两篇将mapper文件路径、位置配置的,讲的很细:

  1. Mybatis中接口和对应的mapper文件位置配置详解
    https://blog.csdn.net/fanfanzk1314/article/details/71480954/

  2. Mybatis 加载 Mapper配置的四种方式
    https://blog.csdn.net/bestcxx/article/details/72966768



作者:喵苗淼妙丶
链接:https://www.jianshu.com/p/f0697a4dd31c

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消