gradle打包后Dao包里没有mapper.xml

为什么gradle打包后Dao包里没有mapper.xml

  • 我们在用gradle打jar包时正常,打war包时发现没有将Dao层的映射文件XXmapper.xml没有打进去,其实原因很简单,因为系统默认dao层是源码层,而mapper.xml其实是一种资源文件,所有默认不会被添加到里面,只能我们手动自己添加
  • 如下:
   processResources {
        from('src/main/java') {
            include '**/*'      ##导入里面的所有文件,也可以自定义正则表达式
            exclude "**/*.java" ##源码文件中.java 文件是不需要的
        }
    }

记住,上表面的方式适合打war包的时候,jar包时不需要。

  • 使用mybatis的最大好处就是可以灵活对映射文件mapper.xml进行维护,而对传统意义上讲的源码XXX.class不产生任何影响,这种情况在生产维护是很低廉的一种维护手段。但是当我们将mapper.xml和源码路径放到一起时,方便了开发的实施,却无形增加了维护成本,其实是一种不划算的行为,所以强烈建议,将mapper.xml放在资源文件目录下。

  • 当然事情都具有两面性,构建项目框架的时候要综合整个项目规模和人员结构,从而选择出最合适自己团队的方式才是我们最终追求的目标。

如有问题,可以联系[email protected]
也可以在我的官网,www.wlgdo.com 留言

猜你喜欢

转载自blog.csdn.net/leegoowang/article/details/79020608