关于idea的目录, mybatis里mapper无法用resource获取 和 驼峰命令规则


<mappers> <mapper resource="com/choco/dao/BlogMapper.xml"/> </mappers>
我在resources下面创建和 main/java同样的目录, 通过resource获取到xml文件, 但是不可以, 我很模糊, 因为之前我是可以的.

解决办法:

  1. idea里面一次创建例如:com.choco.dao包 和 分三次创建是一样的. 虽然可能无法展开, 但确实效果是一样的
  2. 如果你的mapper接口和映射xml文件不在一个目录, 比如你把xml文件放在了resources下面, 那么你需要在pom.xml添加这段代码.


    src/main/resources

    /*.properties
    / .xml



    src/main/java

    **/
    .properties
    **/*.xml

    true

这是因为sqlSessionFactoryBean.setMapperLocations(resolver.getResource(packageSearchPath));
即sqlSessionFactoryBean调用的方法是getResource, 这个方法从类的根路径下获取文件.
而在mybatis里面, mian/java下面类的根路劲为 target/classes
所以只要你的根路劲下面没有xml映射文件, 那么config文件里面,注册mapper就无法成功.

在setting里面没有开启mapUnderscoreToCamelCase, 依然可以识别, 不知道这是不是idea自动做了.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM