use of com.free.framework.code.tools.model.Module in project free-framework by a601942905git.
the class DataBase2File method generateFiles.
/**
* 主方法,反转生成相关文件
*
* @throws IOException
* @throws ClassNotFoundException
* @throws SQLException
*/
public void generateFiles() throws IOException, ClassNotFoundException, SQLException {
System.out.println("Generating...");
Long start = System.currentTimeMillis();
// 根据数据库类型获取数据库实例
tableService = TableServiceFactory.getInstance(config.getDb().getDbType());
// 设置数据库实例的配置信息
tableService.setConfig(config);
// 加载数据库驱动
Class.forName(config.getDb().getDriver());
// 连接数据库
Connection con = DriverManager.getConnection(config.getDb().getUrl(), config.getDb().getUser(), config.getDb().getPwd());
// 加载模块信息
for (Module module : config.getModules()) {
System.out.println("module=" + module.getName());
// 如果没有配置数据表,则默认加载模块名为前缀的所有数据表
if (module.getTables() == null || module.getTables().isEmpty()) {
// 获取对应数据库中所有的表
module.setTables(tableService.getAllTables(module.getName() + "%"));
}
// 系统的model文件
StringBuffer sbModel = new StringBuffer();
if (module.getTables() != null) {
for (TableConf tbConf : module.getTables()) {
tbConf.setPrefix(module.getPrefix());
// 获取一个表的相关信息同时设置模块名称
Table table = tableService.getTable(tbConf, module, con);
genFile(table, module);
}
}
// System.out.println(sbModel.toString());
if ("dorado".equals(module.getFramework())) {
// 生成model文件
writeModelFile(module.getName().split("/")[0] + ".model.xml", sbModel.toString());
}
}
con.close();
ZipUtil.zip(config.getBaseDir(), config.getBaseDir() + ".zip");
Long end = System.currentTimeMillis();
System.out.println("Generate Success! total time = " + (end - start));
System.out.println("Please check: " + config.getBaseDir());
}
use of com.free.framework.code.tools.model.Module in project free-framework by a601942905git.
the class Config method loadConfig.
public static Config loadConfig(GenerateCodeParam generateCodeParam) {
Config cfg = new Config();
/**
*****************************************基础包设置开始*****************************************************
*/
// 生成代码存放的目录路径
cfg.setBaseDir(generateCodeParam.getBaseDir());
// 项目的基础包 如com.dremoon.framework
cfg.setBasePackage(generateCodeParam.getBasePackage());
// 项目的业务包,如果没有,则直接在项目的基础包后面添加模块包名称
cfg.setBaseCorePackage(generateCodeParam.getBaseCorePackage());
// 项目的web包,如果没有,则直接在项目的基础包后面添加模块包名称
cfg.setBaseWebPackage(generateCodeParam.getBaseWebPackage());
/**
*****************************************基础包设置结束*****************************************************
*/
/**
*****************************************实例化DB信息开始*****************************************************
*/
Db db = new Db();
// 设置数据库类型
db.setDbType(generateCodeParam.getDbType());
// 设置数据库驱动
db.setDriver(generateCodeParam.getDbDriver());
// 设置数据库的url
db.setUrl(generateCodeParam.getDbUrl());
// 设置数据库的账号
db.setUser(generateCodeParam.getDbUser());
// 设置数据库密码
db.setPwd(generateCodeParam.getDbPwd());
// 设置数据库名称
db.setDbName(generateCodeParam.getDbName());
// 设置数据库基本信息
cfg.setDb(db);
/**
*****************************************实例化DB信息开始*****************************************************
*/
/**
*****************************************设置项目包名开始*****************************************************
*/
// 加载包名设置
PackageSetting pkgSetting = new PackageSetting();
// action配置
pkgSetting.setActionPackage(generateCodeParam.getActionPackage());
// 实体模型
pkgSetting.setEntityPackage(generateCodeParam.getEntityPackage());
// mapper
pkgSetting.setMapperPackage(generateCodeParam.getMapperPackage());
// dao
pkgSetting.setDaoPackage(generateCodeParam.getDaoPackage());
// 业务层
pkgSetting.setServicePackage(generateCodeParam.getServicePackage());
// 业务层实现
pkgSetting.setServiceImplPackage(generateCodeParam.getServiceImplPackage());
// 列表页面
pkgSetting.setListPage(generateCodeParam.getListPage());
// 新增页面
pkgSetting.setAddPage(generateCodeParam.getAddPage());
// 修改页面
pkgSetting.setModifyPage(generateCodeParam.getModifyPage());
// 是否去掉数据库中表名前缀
pkgSetting.setIsDeleteTablePrefix(generateCodeParam.getIsDeleteTablePrefix());
// 设置包信息
cfg.setPackageSetting(pkgSetting);
// 设置需要过滤的表
cfg.setExcludeTables(generateCodeParam.getExcludeTables());
// 设置需要过滤的列
cfg.setExcludeColumns(generateCodeParam.getExcludeColumns());
/**
*****************************************设置项目包名结束*****************************************************
*/
// 加载module
List<Module> moduleList = new ArrayList<>();
Module module = new Module();
module.setName("");
module.setPersistance(generateCodeParam.getPersistanceFramework());
module.setDeleteTablePrefix(generateCodeParam.getIsDeleteTablePrefix());
module.setPrefix(generateCodeParam.getPrefix());
module.setFramework(generateCodeParam.getFramework());
module.setDaoPackage(generateCodeParam.getDaoPackage());
module.setServicePackage(generateCodeParam.getServicePackage());
module.setServiceImplPackage(generateCodeParam.getServiceImplPackage());
module.setEntityPackage(generateCodeParam.getEntityPackage());
module.setActionPackage(generateCodeParam.getActionPackage());
module.setListPage(generateCodeParam.getListPage());
module.setAddPage(generateCodeParam.getAddPage());
module.setModifyPage(generateCodeParam.getModifyPage());
module.setDetailPage(generateCodeParam.getDetailPage());
module.setMapperPackage(generateCodeParam.getMapperPackage());
module.setSavePath(generateCodeParam.getMapperSavePath());
module.setFrameworkMapping(generateCodeParam.getFrameworkMapping());
moduleList.add(module);
cfg.setModules(moduleList);
return cfg;
}
Aggregations