当使用mybatis时须要编辑sqlmap xml文件,若是将sqlmap文件放入resources中对于查找很不方便,通常一个接口对应一个sqlmap文件,那么最方便的作法就是将sqlmap和接口放到一个文件夹中而且命名一致(sqlmap自己也是代码而不是配置文件),这样查找很是方便,如:javascript
xxx.dao - |- UserDao.java |- UserDao.xml
而后,只要使用编译打包工具如maven、gradle等将sqlmap复制到dist的目录中就ok了。java
可是,这时候sqlmap是散落在classes的package目录中,这样启动时扫描又是费点时间的,那么须要打包工具将sqlmap迁移到resource目录下,这样sqlmap只须要扫描一个文件夹就好了,在大项目中能够节约不少启动时间(相对来讲)。sql
下面以gradle为例,建立copySqls任务,而后每次执行 jar、war命令时就能将全部的sqlmap复制到指定目录下。mybatis
task copySqls(type:Copy) { from("${projectDir}/src/main/java/") { include '**/*.xml' } into "${buildDir}" eachFile {details -> details.path = "resources/main/sqlmaps/" + details.name } includeEmptyDirs=false } classes { dependsOn copySqls }