當使用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 }