gradle 小記 -- Copy Sqlmaps

當使用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
    }
相關文章
相關標籤/搜索