# sql模板配置 本地"" 服务器配置外部路径(本地测试外部路径为D:\home\www-data\SmallTask\conf\sql) baseSqlTemplatePath=
/***核心代码***/
public static void mysqlInit(){
// 配置druid数据库连接池插件
DruidPlugin mysqlDruidPlugin = createMysqlDruidPlugin();
// 配置ActiveRecord插件
ActiveRecordPlugin mysqlArp = new ActiveRecordPlugin("mysql",mysqlDruidPlugin);
mysqlArp.setShowSql(PropKit.getBoolean("devMode",false));
String mainSqlName = "_all_sqls.sql";
if (StringUtils.isBlank(PropKit.get("baseSqlTemplatePath"))){
mysqlArp.getEngine().setToClassPathSourceFactory();
mysqlArp.getEngine().setBaseTemplatePath("/sql");
mysqlArp.addSqlTemplate(mainSqlName);
} else {
mysqlArp.getEngine().setSourceFactory(new FileSourceFactory());
mysqlArp.getEngine().setBaseTemplatePath(PropKit.get("baseSqlTemplatePath"));
mysqlArp.addSqlTemplate(new FileSource(PropKit.get("baseSqlTemplatePath"),mainSqlName,"utf-8"));
}
mysqlDruidPlugin.start();
mysqlArp.setDialect(new MysqlDialect());
mysqlArp.start();
}sql管理入口管理文件_all_sqls.sql
#namespace("mysql")
#include("xxx.sql")
#end
#namespace("sqlserver")
#include("xxx.sql")
#end

源码支持:
/**
* FileSource 用于从普通文件中加载模板内容
*/
public class FileSource implements ISource {
private String finalFileName;
private String fileName;
private String encoding;
private long lastModified;
public FileSource(String baseTemplatePath, String fileName, String encoding) {
this.finalFileName = buildFinalFileName(baseTemplatePath, fileName);
this.fileName = fileName;
this.encoding= encoding;
}
public FileSource(String baseTemplatePath, String fileName) {
this(baseTemplatePath, fileName, EngineConfig.DEFAULT_ENCODING);
}public ActiveRecordPlugin addSqlTemplate(com.jfinal.template.source.ISource sqlTemplate) {
config.sqlKit.addSqlTemplate(sqlTemplate);
return this;
}
public ActiveRecordPlugin setBaseSqlTemplatePath(String baseSqlTemplatePath) {
config.sqlKit.setBaseSqlTemplatePath(baseSqlTemplatePath);
return this;
}
所以你的分享通过配置来决定 sql 模板的加载方式,对于打包后的 sql 修改很方便
感谢分享