qq_19430115
qq_19430115
采纳率7.1%
2017-07-02 09:15 阅读 1.9k

mybatis 扫描jar里的mapping.xml

20

如果在当前项目中 可使用

 <property name="mapperLocations" value="classpath:/com/sesame/**/dao/*.xml"></property>

如果xml 在jar里 就需要这样写

 <property name="mapperLocations" value="classpath*:/com/sesame/**/dao/*.xml"></property>

但是怎么让这两种并存呢?
我找到过这种配置

 <property name="mapperLocations">
            <array>

                <value>classpath*:com/sesame/**/dao/*.xml</value>
                <value>classpath:com/sesame/**/dao/*.xml</value>
            </array>
        </property>

但启动会报错,求大神解决

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • qq_31515997 hello.. 2017-07-02 11:11

    你就这样一写一个就可以了啊 ,那个** 就代表了对应位置匹配任意的字符串,你两个value 表达的是一个意思

    点赞 评论 复制链接分享
  • baidu_37781025 襄阳dou腐面 2017-07-03 07:49

    没试过两种方式共存的配置,只在自己的项目中配过,jar包配了意义不大,除非每次环境都一样!

    点赞 评论 复制链接分享
  • mymy1026 快叫我java小菜鸟 2017-07-04 08:51

    classpath 是扫描项目下。classpath* 是扫描项目下和jar包中的路径。classpath*包含classpath的路径

    点赞 评论 复制链接分享
  • Android_app kk1924 2017-07-08 02:29

    关于classpath和classpath*的区别楼上已经有人说了,其实

    就包含了全部了
    另外,如果真的要用数组模式,你可以这样


    classpath:com/ses/**/dao/*.xml
    classpath:com/sesame/**/dao/*.xml


    记住,两个值不要一样就好

    点赞 评论 复制链接分享

相关推荐