Former-commit-id: 80b8d86e0baab8487ce10466bf3cd66007f17d09
master
王兵 5 years ago
parent e72d048e58
commit 52cf4e1f03

@ -44,6 +44,7 @@ import xyz.wbsite.dbtool.javafx.ctrl.DetailModuleController;
import xyz.wbsite.dbtool.javafx.ctrl.DetailProjectController;
import xyz.wbsite.dbtool.javafx.ctrl.DetailTableController;
import xyz.wbsite.dbtool.javafx.ctrl.MainController;
import xyz.wbsite.dbtool.javafx.enums.DataBase;
import xyz.wbsite.dbtool.javafx.enums.FieldType;
import xyz.wbsite.dbtool.javafx.manger.ManagerFactory;
import xyz.wbsite.dbtool.javafx.manger.ProjectManager;
@ -449,26 +450,26 @@ public class JavaFxApplication extends Application {
detailProjectController.getMultiDB().selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
currentProject.setMultiDB(newValue);
currentProject.setNeedMoreDB(newValue);
}
});
detailProjectController.getSysMD().selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
currentProject.setSysMD(newValue);
currentProject.setNeedSys(newValue);
}
});
detailProjectController.getCloud().selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
currentProject.setCloud(newValue);
currentProject.setNeedCloud(newValue);
}
});
detailProjectController.getDatabase().selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) {
RadioButton radioButton = (RadioButton) newValue;
currentProject.setDatabase(radioButton.getText());
currentProject.setDatabase(DataBase.valueOf(radioButton.getText()));
}
});
}
@ -625,8 +626,8 @@ public class JavaFxApplication extends Application {
detailProjectController.getProjectName().setText(currentProject.getProjectName());
detailProjectController.getProjectBasePackage().setText(currentProject.getProjectBasePackage());
detailProjectController.getProjectAuthor().setText(currentProject.getProjectAuthor());
detailProjectController.getMultiDB().setSelected(currentProject.getMultiDB());
detailProjectController.getSysMD().setSelected(currentProject.getSysMD());
detailProjectController.getMultiDB().setSelected(currentProject.isNeedMoreDB());
detailProjectController.getSysMD().setSelected(currentProject.isNeedSys());
ObservableList<Toggle> toggles = detailProjectController.getDatabase().getToggles();
Toggle toggle = toggles.get(0);
for (Toggle tog : toggles) {
@ -636,7 +637,7 @@ public class JavaFxApplication extends Application {
}
}
detailProjectController.getDatabase().selectToggle(toggle);
detailProjectController.getCloud().setSelected(currentProject.isCloud());
detailProjectController.getCloud().setSelected(currentProject.isNeedCloud());
if (gridPane != null) {
mDetail.getChildren().clear();

@ -6,7 +6,7 @@ public class ManagerFactory {
private static XmlManager xmlManager = null;
private static JsonManager jsonManager = null;
private static ReflashManager reflashManager = null;
private static ProjectManager projectManager;
private static ProjectManager projectManager = null;
private static FreeMarkerManager freeMarkerManager;
static {

@ -352,8 +352,7 @@ public class ProjectManager {
new Thread() {
@Override
public void run() {
Callable callback = null;
callback = new SpringBootCallable(project, path);
Callable callback = new SpringBootCallable(project, path);
Future submit = service.submit(callback);
try {

@ -4,6 +4,7 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import xyz.wbsite.dbtool.javafx.annotation.Property;
import xyz.wbsite.dbtool.javafx.enums.DataBase;
import xyz.wbsite.dbtool.javafx.enums.FieldType;
import xyz.wbsite.dbtool.javafx.po.Field;
import xyz.wbsite.dbtool.javafx.po.Module;
@ -60,6 +61,14 @@ public class XmlManager {
declaredField.setAccessible(true);
if (declaredField.getType() == String.class) {
declaredField.set(project, textContent);
} else if (declaredField.getType() == DataBase.class) {
DataBase dataBase = null;
try {
dataBase = DataBase.valueOf(textContent);
} catch (IllegalArgumentException e) {
dataBase = DataBase.MySQL;
}
declaredField.set(project, dataBase);
} else if (declaredField.getType() == Boolean.class || declaredField.getType() == boolean.class) {
declaredField.setBoolean(project, getBoolean(textContent));
}

@ -19,6 +19,7 @@ import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.concurrent.Callable;
@ -26,17 +27,13 @@ import java.util.concurrent.Callable;
public class SpringBootCallable implements Callable {
private String root;
private DataBase dataBase;
private Project project;
private boolean cloud;
private AbstractDBmapper dBmapper;
private FreeMarkerManager freeMarkerManager;
public SpringBootCallable(Project project, String root) {
this.root = root;
this.dataBase = DataBase.valueOf(project.getDatabase());
this.project = project;
this.cloud = project.isCloud();
this.freeMarkerManager = ManagerFactory.getFreeMarkerManager();
this.dBmapper = ProjectManager.dBmapper;
}
@ -66,17 +63,17 @@ public class SpringBootCallable implements Callable {
File testResourcesDir = Tool.createPath(projectDir.getAbsolutePath(), "src", "test", "resources");
// 生成POM
generatePom(projectDir, project, dataBase);
generatePom(projectDir, project);
{//生成java文件
//生成 Controller
System.out.println("生成模块:action");
generateController(Tool.createPath(domainDir.getAbsolutePath(), "action"), project, dataBase);
generateController(Tool.createPath(domainDir.getAbsolutePath(), "action"), project);
// 生成 Config
System.out.println("生成模块:config");
generateConfig(Tool.createPath(domainDir.getAbsolutePath(), "config"), project, dataBase);
generateConfig(Tool.createPath(domainDir.getAbsolutePath(), "config"), project);
{// 模块
@ -88,58 +85,58 @@ public class SpringBootCallable implements Callable {
File moduleDir = Tool.createPath(domainDir.getAbsolutePath(), "module", module.getModuleName());
System.out.println("生成模块:Entity");
generateEntity(Tool.createPath(moduleDir.getAbsolutePath(), "ent"), module, dataBase);
generateEntity(Tool.createPath(moduleDir.getAbsolutePath(), "ent"), module);
System.out.println("生成模块:Mapper");
generateMapper(Tool.createPath(moduleDir.getAbsolutePath(), "mpr"), module, dataBase);
generateMapper(Tool.createPath(moduleDir.getAbsolutePath(), "mpr"), module);
System.out.println("生成模块:Manager");
generateManager(Tool.createPath(moduleDir.getAbsolutePath(), "mgr"), module, dataBase);
generateManager(Tool.createPath(moduleDir.getAbsolutePath(), "mgr"), module);
System.out.println("生成模块:Request");
generateRequest(Tool.createPath(moduleDir.getAbsolutePath(), "req"), module, dataBase);
generateRequest(Tool.createPath(moduleDir.getAbsolutePath(), "req"), module);
System.out.println("生成模块:Response");
generateResponse(Tool.createPath(moduleDir.getAbsolutePath(), "rsp"), module, dataBase);
generateResponse(Tool.createPath(moduleDir.getAbsolutePath(), "rsp"), module);
}
if (project.getSysMD()) {//生成系统模块
if (project.isNeedSys()) {//生成系统模块
Module module = new Module();
module.setModuleName("system");
module.setProjectAuthor(project.getProjectAuthor());
module.setProjectBasePackage(project.getProjectBasePackage());
module.setProjectName(project.getProjectName());
File moduleDir = Tool.createPath(domainDir.getAbsolutePath(), "module", "system");
generateSystemModule(moduleDir, module, dataBase);
generateSystemModule(moduleDir, module);
}
}
// frame等内容
System.out.println("生成模块:frame");
generateFrame(Tool.createPath(domainDir.getAbsolutePath(), "frame"), project, dataBase);
generateFrame(Tool.createPath(domainDir.getAbsolutePath(), "frame"), project);
// Task
System.out.println("生成模块:task");
generateTask(Tool.createPath(domainDir.getAbsolutePath(), "task"), project, dataBase);
generateTask(Tool.createPath(domainDir.getAbsolutePath(), "task"), project);
// Application
System.out.println("生成模块:Application");
generateApplication(Tool.createPath(domainDir.getAbsolutePath()), project, dataBase);
generateApplication(Tool.createPath(domainDir.getAbsolutePath()), project);
}
{//生成resources文件
System.out.println("生成模块:Resources");
generateResources(resourcesDir, project, dataBase);
generateResources(resourcesDir, project);
System.out.println("生成模块:Static");
generateStatic(resourcesDir, project, dataBase);
generateStatic(resourcesDir, project);
System.out.println("生成模块:Templates");
generateTemplates(resourcesDir, project, dataBase);
generateTemplates(resourcesDir, project);
}
{//生成Test
System.out.println("生成模块:Test");
generateTest(testDomainDir, project, dataBase);
generateTest(testDomainDir, project);
}
{//生成Test Resources
System.out.println("生成模块:Test Resources");
generateTestResources(testResourcesDir, project, dataBase);
generateTestResources(testResourcesDir, project);
}
System.out.println("finish");
return true;
@ -152,12 +149,12 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generatePom(File root, Project project, DataBase dataBase) {
public void generatePom(File root, Project project) {
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("projectName", project.getProjectName());
ctx.put("basePackage", project.getProjectBasePackage());
ctx.put("dataBase", dataBase.toString());
ctx.put("cloud", cloud);
ctx.put("dataBase", project.getDatabase().toString());
ctx.put("project", project);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "pom.xml"), "SpringBoot/pom.ftl", ctx);
}
@ -167,7 +164,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateController(File root, Project project, DataBase dataBase) {
public void generateController(File root, Project project) {
Tool.clear(root);
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("basePackage", project.getProjectBasePackage());
@ -197,7 +194,7 @@ public class SpringBootCallable implements Callable {
}
}
if (project.getSysMD()) {//生成系统模块
if (project.isNeedSys()) {//生成系统模块
File system = Tool.createPath(ajax.getAbsolutePath(), "system");
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/action/ajax/system/")) {
@ -223,7 +220,7 @@ public class SpringBootCallable implements Callable {
}
}
if (project.getSysMD()) {//生成系统模块
if (project.isNeedSys()) {//生成系统模块
File system = Tool.createPath(api.getAbsolutePath(), "system");
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/action/api/system/")) {
@ -235,7 +232,7 @@ public class SpringBootCallable implements Callable {
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "GlobalController.java"), "SpringBoot/java/action/GlobalController.java", ctx);
}
public void generateConfig(File root, Project project, DataBase dataBase) {
public void generateConfig(File root, Project project) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -255,10 +252,10 @@ public class SpringBootCallable implements Callable {
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "ScheduleConfig.java"), "SpringBoot/java/config/ScheduleConfig.java", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "ThreadPoolConfig.java"), "SpringBoot/java/config/ThreadPoolConfig.java", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "WebMvcConfig.java"), "SpringBoot/java/config/WebMvcConfig.java", ctx);
if (dataBase.name().equals(DataBase.SQLite.name())) {
if (project.getDatabase().name().equals(DataBase.SQLite.name())) {
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "SQLiteConfig.java"), "SpringBoot/java/config/SQLiteConfig.java", ctx);
}
if (project.getMultiDB()) {
if (project.isNeedMoreDB()) {
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "MapperMainConfig.java"), "SpringBoot/java/config/MapperMainConfig.java", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "MapperTwoConfig.java"), "SpringBoot/java/config/MapperTwoConfig.java", ctx);
}
@ -270,7 +267,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param md
*/
public void generateEntity(File root, Module md, DataBase dataBase) {
public void generateEntity(File root, Module md) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -297,7 +294,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param md
*/
public void generateMapper(File root, Module md, DataBase dataBase) {
public void generateMapper(File root, Module md) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -307,7 +304,7 @@ public class SpringBootCallable implements Callable {
ctx.put("tool", Tool.class);
ctx.put("module", md);
ctx.put("dataBase", dataBase.toString());
ctx.put("dataBase", project.getDatabase().toString());
ctx.put("basePackage", md.getProjectBasePackage());
ctx.put("moduleName", md.getModuleName());
ctx.put("author", md.getProjectAuthor());
@ -319,14 +316,14 @@ public class SpringBootCallable implements Callable {
if (table.getSys()) {
// freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), dataBase.name() + "_" + Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/" + dataBase.name() + "_mapper.xml", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/" + dataBase.name() + "_mapper.xml", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/" + project.getDatabase().name() + "_mapper.xml", ctx);
} else {
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/Nosys_mapper.ftl", ctx);
}
}
}
public void generateManager(File root, Module md, DataBase dataBase) {
public void generateManager(File root, Module md) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -354,7 +351,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param md
*/
public void generateRequest(File root, Module md, DataBase dataBase) {
public void generateRequest(File root, Module md) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -408,7 +405,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param md
*/
public void generateResponse(File root, Module md, DataBase dataBase) {
public void generateResponse(File root, Module md) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -456,7 +453,7 @@ public class SpringBootCallable implements Callable {
}
}
public void generateSystemModule(File root, Module md, DataBase dataBase) {
public void generateSystemModule(File root, Module md) {
File ent = Tool.createPath(root.getAbsolutePath(), "ent");
File mpr = Tool.createPath(root.getAbsolutePath(), "mpr");
File mgr = Tool.createPath(root.getAbsolutePath(), "mgr");
@ -468,7 +465,7 @@ public class SpringBootCallable implements Callable {
ctx.put("moduleName", md.getModuleName());
ctx.put("author", md.getProjectAuthor());
ctx.put("date", new Date());
ctx.put("dataBase", dataBase.toString());
ctx.put("dataBase", project.getDatabase().toString());
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/module/system/ent/")) {
freeMarkerManager.outputTemp(Tool.createFile(ent.getAbsolutePath(), name), "SpringBoot/java/module/system/ent/" + name, ctx);
@ -481,10 +478,10 @@ public class SpringBootCallable implements Callable {
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/module/system/mpr/")) {
if (name.endsWith(".java")) {
freeMarkerManager.outputTemp(Tool.createFile(mpr.getAbsolutePath(), name), "SpringBoot/java/module/system/mpr/" + name, ctx);
} else if (name.contains(dataBase.name())) {
} else if (name.contains(project.getDatabase().name())) {
//todo dateBase调试
// freeMarkerManager.outputTemp(Tool.createFile(mpr.getAbsolutePath(), name), "SpringBoot/java/module/system/mpr/" + name, ctx);
freeMarkerManager.outputTemp(Tool.createFile(mpr.getAbsolutePath(), name.replaceAll(dataBase.name() + "_", "")), "SpringBoot/java/module/system/mpr/" + name, ctx);
freeMarkerManager.outputTemp(Tool.createFile(mpr.getAbsolutePath(), name.replaceAll(project.getDatabase().name() + "_", "")), "SpringBoot/java/module/system/mpr/" + name, ctx);
}
}
@ -503,7 +500,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateFrame(File root, Project project, DataBase dataBase) {
public void generateFrame(File root, Project project) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -558,8 +555,17 @@ public class SpringBootCallable implements Callable {
}
//utils
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/frame/utils/")) {
ArrayList<String> filters = new ArrayList<>();
filters.add("MailUtil.java");
if (filters.contains(name)) {
if (project.isNeedEMail()) {
freeMarkerManager.outputTemp(Tool.createFile(utils.getAbsolutePath(), name), "SpringBoot/java/frame/utils/" + name, ctx);
}
} else {
freeMarkerManager.outputTemp(Tool.createFile(utils.getAbsolutePath(), name), "SpringBoot/java/frame/utils/" + name, ctx);
}
}
//validation
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/java/frame/validation/")) {
@ -574,7 +580,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateTask(File root, Project project, DataBase dataBase) {
public void generateTask(File root, Project project) {
if (!root.exists()) {
root.mkdirs();
} else {
@ -597,14 +603,12 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateApplication(File root, Project project, DataBase dataBase) {
public void generateApplication(File root, Project project) {
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("basePackage", project.getProjectBasePackage());
ctx.put("moduleName", project.getProjectName());
ctx.put("multiDB", project.getMultiDB());
ctx.put("project", project);
ctx.put("timestamp", new Date().getTime());
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "Application.java"), "SpringBoot/java/Application.ftl", ctx);
}
@ -614,19 +618,18 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateResources(File root, Project project, DataBase dataBase) {
public void generateResources(File root, Project project) {
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("basePackage", project.getProjectBasePackage());
ctx.put("tool", Tool.class);
ctx.put("dataBase", dataBase.toString());
ctx.put("dataBase", project.getDatabase().toString());
ctx.put("author", project.getProjectAuthor());
ctx.put("dBmapper", dBmapper);
ctx.put("date", new Date());
ctx.put("author", project.getProjectAuthor());
ctx.put("projectName", project.getProjectName());
ctx.put("multiDB", project.getMultiDB());
ctx.put("cloud", cloud);
ctx.put("project", project);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "start-dev.bat"), "SpringBoot/resources/start-dev.bat", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "start-prod.bat"), "SpringBoot/resources/start-prod.bat", ctx);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application-dev.properties"), "SpringBoot/resources/application-dev.ftl", ctx);
@ -645,27 +648,27 @@ public class SpringBootCallable implements Callable {
File tableDir = Tool.createPath(dbtool.getAbsolutePath(), module.getModuleName() + "_table");
for (Table table : module.getTables()) {
ctx.put("table", table);
freeMarkerManager.outputTemp(Tool.createFile(tableDir.getAbsolutePath(), dataBase.name() + "_" + table.getTableName() + ".sql"), "SpringBoot/resources/dbtool/table.ftl", ctx);
freeMarkerManager.outputTemp(Tool.createFile(tableDir.getAbsolutePath(), project.getDatabase().name() + "_" + table.getTableName() + ".sql"), "SpringBoot/resources/dbtool/table.ftl", ctx);
}
freeMarkerManager.outputTemp(Tool.createFile(tableDir.getAbsolutePath(), dataBase.name() + "_ALL_TABLE" + ".sql"), "SpringBoot/resources/dbtool/tableAll.ftl", ctx);
freeMarkerManager.outputTemp(Tool.createFile(tableDir.getAbsolutePath(), project.getDatabase().name() + "_ALL_TABLE" + ".sql"), "SpringBoot/resources/dbtool/tableAll.ftl", ctx);
}
if (project.getSysMD()) {//生成系统模块
if (project.isNeedSys()) {//生成系统模块
File system = Tool.createPath(dbtool.getAbsolutePath(), "system_table");
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/resources/dbtool/system/")) {
if (name.contains(dataBase.name())) {
if (name.contains(project.getDatabase().name())) {
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), name), "SpringBoot/resources/dbtool/system/" + name, ctx);
}
}
}
if (DataBase.Oracle.name().equals(dataBase.name())) {
if (DataBase.Oracle.name().equals(project.getDatabase().name())) {
File lib = Tool.createPath(root.getAbsolutePath(), "lib");
Tool.outputResource("SpringBoot/resources/lib/ojdbc7-12.1.0.2.jar", Tool.createFile(lib.getAbsolutePath(), "ojdbc7-12.1.0.2.jar"));
}
if (DataBase.SQLite.name().equals(dataBase.name())) {
if (DataBase.SQLite.name().equals(project.getDatabase().name())) {
File dbFile = Tool.createFile(root.getAbsolutePath(), project.getProjectName() + ".db");
Connection connection = null;
Statement statement = null;
@ -699,18 +702,17 @@ public class SpringBootCallable implements Callable {
}
}
public void generateTestResources(File root, Project project, DataBase dataBase) {
public void generateTestResources(File root, Project project) {
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("basePackage", project.getProjectBasePackage());
ctx.put("projectName", project.getProjectName());
ctx.put("tool", Tool.class);
ctx.put("dataBase", dataBase.toString());
ctx.put("dataBase", project.getDatabase().toString());
ctx.put("author", project.getProjectAuthor());
ctx.put("dBmapper", dBmapper);
ctx.put("date", new Date());
ctx.put("multiDB", project.getMultiDB());
ctx.put("cloud", cloud);
ctx.put("project", project);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application.properties"), "SpringBoot/test/application.ftl", ctx);
Tool.outputResource("SpringBoot/test/logback-spring.xml", Tool.createFile(root.getAbsolutePath(), "logback-spring.xml"));
}
@ -721,7 +723,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateStatic(File root, Project project, DataBase dataBase) {
public void generateStatic(File root, Project project) {
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("basePackage", project.getProjectBasePackage());
@ -769,7 +771,7 @@ public class SpringBootCallable implements Callable {
* @param root
* @param project
*/
public void generateTemplates(File root, Project project, DataBase dataBase) {
public void generateTemplates(File root, Project project) {
{//生成
File templates = Tool.createPath(root.getAbsolutePath(), "templates");
File control = Tool.createPath(templates.getAbsolutePath(), "control");
@ -791,7 +793,7 @@ public class SpringBootCallable implements Callable {
ctx.put("author", project.getProjectAuthor());
ctx.put("date", new Date());
ctx.put("modules", project.getModules());
ctx.put("sysMD", project.getSysMD());
ctx.put("sysMD", project.isNeedSys());
freeMarkerManager.outputTemp(Tool.createFile(screen.getAbsolutePath(), "index.ftl"), "SpringBoot/resources/templates/screen/index.ftl", ctx);
}
@ -816,7 +818,7 @@ public class SpringBootCallable implements Callable {
}
}
if (project.getSysMD()) {//生成系统模块
if (project.isNeedSys()) {//生成系统模块
File system = Tool.createPath(screen.getAbsolutePath(), "system");
for (String name : ResourceUtil.getResourceFiles("/modules/SpringBoot/resources/templates/screen/module/system/")) {
Tool.outputResource("SpringBoot/resources/templates/screen/module/system/" + name, Tool.createFile(system.getAbsolutePath(), name));
@ -825,7 +827,7 @@ public class SpringBootCallable implements Callable {
}
}
public void generateTest(File root, Project project, DataBase dataBase) {
public void generateTest(File root, Project project) {
{
File config = Tool.createPath(root.getAbsolutePath(), "config");
@ -870,7 +872,7 @@ public class SpringBootCallable implements Callable {
}
}
if (project.getSysMD()) {//生成系统模块
if (project.isNeedSys()) {//生成系统模块
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("tool", Tool.class);
ctx.put("basePackage", project.getProjectBasePackage());

@ -2,6 +2,7 @@ package xyz.wbsite.dbtool.javafx.po;
import javafx.scene.control.TreeItem;
import xyz.wbsite.dbtool.javafx.annotation.Property;
import xyz.wbsite.dbtool.javafx.enums.DataBase;
import java.util.ArrayList;
import java.util.List;
@ -12,7 +13,6 @@ public class Project extends TreeItem {
this.projectName = "EXAMPLE-WEB";
this.projectBasePackage = "com.example";
this.projectAuthor = "author";
this.multiDB = false;
}
public Project(String projectName) {
@ -27,14 +27,16 @@ public class Project extends TreeItem {
private String projectBasePackage;
@Property("projectAuthor")
private String projectAuthor;
@Property("multiDB")
private boolean multiDB;
@Property("sysMD")
private boolean sysMD;
@Property("cloud")
private boolean cloud;
@Property(value = "database",defautValue = "MySQL")
private String database;
@Property("needMoreDB")
private boolean needMoreDB;
@Property("needEMail")
private boolean needEMail;
@Property("needSys")
private boolean needSys;
@Property("needCloud")
private boolean needCloud;
@Property(value = "database")
private DataBase database;
/**
*
@ -80,35 +82,43 @@ public class Project extends TreeItem {
this.modules = modules;
}
public boolean getMultiDB() {
return multiDB;
public boolean isNeedMoreDB() {
return needMoreDB;
}
public void setMultiDB(boolean multiDB) {
this.multiDB = multiDB;
public void setNeedMoreDB(boolean needMoreDB) {
this.needMoreDB = needMoreDB;
}
public boolean getSysMD() {
return sysMD;
public boolean isNeedSys() {
return needSys;
}
public void setSysMD(boolean sysMD) {
this.sysMD = sysMD;
public void setNeedSys(boolean needSys) {
this.needSys = needSys;
}
public boolean isCloud() {
return cloud;
public boolean isNeedCloud() {
return needCloud;
}
public void setCloud(boolean cloud) {
this.cloud = cloud;
public void setNeedCloud(boolean needCloud) {
this.needCloud = needCloud;
}
public String getDatabase() {
public DataBase getDatabase() {
return database;
}
public void setDatabase(String database) {
public void setDatabase(DataBase database) {
this.database = database;
}
public boolean isNeedEMail() {
return needEMail;
}
public void setNeedEMail(boolean needEMail) {
this.needEMail = needEMail;
}
}

@ -3,7 +3,7 @@ package ${basePackage};
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
<#if multiDB>
<#if project.needMoreDB>
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
</#if>
import org.springframework.boot.builder.SpringApplicationBuilder;
@ -11,7 +11,7 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
import ${basePackage}.frame.auth.LocalData;
@SpringBootApplication
<#if multiDB>
<#if project.needMoreDB>
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
<#else>
@EnableAutoConfiguration

@ -67,7 +67,16 @@
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<#if cloud>
<#if project.needEMail>
<!-- mail 发送邮件 -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
</#if>
<#if project.needCloud>
<!-- eureka-client -->
<dependency>
<groupId>org.springframework.cloud</groupId>

@ -6,7 +6,7 @@ spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/reso
spring.application.name=${projectName?default("SpringBoot")}
spring.main.banner-mode=CONSOLE
spring.devtools.restart.enabled=true
<#if cloud>
<#if project.needCloud>
eureka.client.serviceUrl.defaultZone=http://localhost:18080/eureka/
</#if>
# 编码配置
@ -17,7 +17,7 @@ server.tomcat.uri-encoding=UTF-8
# 日志配置
logging.path=D://
logging.levels=DEBUG
<#if multiDB>
<#if project.needMoreDB>
# ==================================================================================
<#if dataBase == 'Oracle'>
# 主数据库

@ -6,7 +6,7 @@ spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/reso
spring.application.name=${projectName}
spring.main.banner-mode=off
spring.devtools.restart.enabled=false
<#if cloud>
<#if project.needCloud>
eureka.client.serviceUrl.defaultZone=http://localhost:18080/eureka/
</#if>
# 编码配置
@ -17,7 +17,7 @@ server.tomcat.uri-encoding=UTF-8
# 日志配置
logging.path=/root/
logging.levels=INFO
<#if multiDB>
<#if project.needMoreDB>
# ==================================================================================
<#if dataBase == 'Oracle'>
# 主数据库

@ -6,7 +6,7 @@ spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/reso
spring.application.name=${projectName?default("SpringBoot")}
spring.main.banner-mode=CONSOLE
spring.devtools.restart.enabled=true
<#if cloud>
<#if project.needCloud>
eureka.client.serviceUrl.defaultZone=http://localhost:18080/eureka/
</#if>
# 编码配置
@ -17,7 +17,7 @@ server.tomcat.uri-encoding=UTF-8
# 日志配置
logging.path=D://
logging.levels=DEBUG
<#if multiDB>
<#if project.needMoreDB>
# ==================================================================================
<#if dataBase == 'Oracle'>
# 主数据库

Loading…
Cancel
Save

Powered by TurnKey Linux.