当使用mybatis时需要编辑sqlmap xml文件,如果将sqlmap文件放入resources中对于查找很不方便,一般一个接口对应一个sqlmap文件,那么最方便的做法就是将sqlmap和接口放到一个文件夹中并且命名一致(sqlmap本身也是代码而不是配置文件),这样查找非常方便,如:
代码语言:javascript复制xxx.dao -
|- UserDao.java
|- UserDao.xml
然后,只要使用编译打包工具如maven、gradle等将sqlmap复制到dist的目录中就ok了。
但是,这时候sqlmap是散落在classes的package目录中,这样启动时扫描又是费点时间的,那么需要打包工具将sqlmap迁移到resource目录下,这样sqlmap只需要扫描一个文件夹就行了,在大项目中可以节约很多启动时间(相对来说)。
下面以gradle为例,创建copySqls任务,然后每次执行 jar、war命令时就能将所有的sqlmap复制到指定目录下。
代码语言:javascript复制 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
}