Former-commit-id: 889d79eb443873fbf1047fbf314d425c23da0026
master
王兵 5 years ago
parent 52cf4e1f03
commit 2c49305854

@ -172,7 +172,7 @@ public class JavaFxApplication extends Application {
} }
break; break;
} }
loadingTable(); loadTable();
JavaFxApplication.this.mFields.getSelectionModel().clearSelection(); JavaFxApplication.this.mFields.getSelectionModel().clearSelection();
} }
} }
@ -371,7 +371,7 @@ public class JavaFxApplication extends Application {
switch (level) { switch (level) {
case 0: {//查看模块 case 0: {//查看模块
mTree.setContextMenu(project_menu); mTree.setContextMenu(project_menu);
loadingProject(); loadProject();
} }
break; break;
case 1: {//查看模块 case 1: {//查看模块
@ -389,7 +389,7 @@ public class JavaFxApplication extends Application {
if (currentMD != null) { if (currentMD != null) {
currentTable = projectManager.findTableByTableName(currentMD, (String) targetItem.getValue()); currentTable = projectManager.findTableByTableName(currentMD, (String) targetItem.getValue());
} }
loadingTable(); loadTable();
break; break;
} }
default: default:
@ -538,13 +538,13 @@ public class JavaFxApplication extends Application {
@Override @Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
currentTable.setSys(newValue); currentTable.setSys(newValue);
loadingTable(); loadTable();
} }
}); });
} }
ManagerFactory.getReflashManager(this).start(); ManagerFactory.getReflashManager(this).start();
loadingProjectTree(); loadProjectTree();
super.init(); super.init();
} }
@ -554,7 +554,7 @@ public class JavaFxApplication extends Application {
String fieldName = projectManager.getNewFieldName(fields); String fieldName = projectManager.getNewFieldName(fields);
System.out.println("新增字段-" + fieldName + "成功!"); System.out.println("新增字段-" + fieldName + "成功!");
this.mFields.getSelectionModel().select(fields.size() - 1); this.mFields.getSelectionModel().select(fields.size() - 1);
loadingTable(); loadTable();
} }
} }
@ -564,13 +564,13 @@ public class JavaFxApplication extends Application {
if (selectedIndex > -1 && !currentTable.getFields().get(selectedIndex).getIsSystem()) { if (selectedIndex > -1 && !currentTable.getFields().get(selectedIndex).getIsSystem()) {
currentTable.getFields().remove(selectedIndex); currentTable.getFields().remove(selectedIndex);
mFields.getSelectionModel().clearSelection(); mFields.getSelectionModel().clearSelection();
loadingTable(); loadTable();
} }
} }
} }
public void loadingProjectTree() { public void loadProjectTree() {
currentProject = projectManager.getProject(); currentProject = projectManager.getProject();
currentProject.setValue(currentProject.getProjectName()); currentProject.setValue(currentProject.getProjectName());
currentProject.setExpanded(true); currentProject.setExpanded(true);
@ -621,7 +621,10 @@ public class JavaFxApplication extends Application {
} }
} }
public void loadingProject() { /**
*
*/
public void loadProject() {
GridPane gridPane = mProjectLoader.getRoot(); GridPane gridPane = mProjectLoader.getRoot();
detailProjectController.getProjectName().setText(currentProject.getProjectName()); detailProjectController.getProjectName().setText(currentProject.getProjectName());
detailProjectController.getProjectBasePackage().setText(currentProject.getProjectBasePackage()); detailProjectController.getProjectBasePackage().setText(currentProject.getProjectBasePackage());
@ -629,14 +632,12 @@ public class JavaFxApplication extends Application {
detailProjectController.getMultiDB().setSelected(currentProject.isNeedMoreDB()); detailProjectController.getMultiDB().setSelected(currentProject.isNeedMoreDB());
detailProjectController.getSysMD().setSelected(currentProject.isNeedSys()); detailProjectController.getSysMD().setSelected(currentProject.isNeedSys());
ObservableList<Toggle> toggles = detailProjectController.getDatabase().getToggles(); ObservableList<Toggle> toggles = detailProjectController.getDatabase().getToggles();
Toggle toggle = toggles.get(0);
for (Toggle tog : toggles) { for (Toggle tog : toggles) {
RadioButton radioButton = (RadioButton) tog; RadioButton radioButton = (RadioButton) tog;
if (radioButton.getText().equals(currentProject.getDatabase())) { if (radioButton.getText().equals(currentProject.getDatabase().name())) {
toggle = radioButton; radioButton.setSelected(true);
} }
} }
detailProjectController.getDatabase().selectToggle(toggle);
detailProjectController.getCloud().setSelected(currentProject.isNeedCloud()); detailProjectController.getCloud().setSelected(currentProject.isNeedCloud());
if (gridPane != null) { if (gridPane != null) {
@ -649,9 +650,9 @@ public class JavaFxApplication extends Application {
} }
/** /**
* *
*/ */
private void loadingTable() { private void loadTable() {
GridPane gridPane = mTableLoader.getRoot(); GridPane gridPane = mTableLoader.getRoot();
if (currentTable != null) { if (currentTable != null) {
detailTableController.getTablename().setText(currentTable.getTableName()); detailTableController.getTablename().setText(currentTable.getTableName());
@ -686,7 +687,7 @@ public class JavaFxApplication extends Application {
field.setFieldName(newValue); field.setFieldName(newValue);
if (newValue.endsWith("_ID")) { if (newValue.endsWith("_ID")) {
field.setFieldType(FieldType.Long); field.setFieldType(FieldType.Long);
loadingTable(); loadTable();
} }
} }
}); });
@ -788,7 +789,7 @@ public class JavaFxApplication extends Application {
currentTable.getFields().add(i2, t1); currentTable.getFields().add(i2, t1);
currentTable.getFields().remove(i2 + 1); currentTable.getFields().remove(i2 + 1);
} }
loadingTable(); loadTable();
} }
event.setDropCompleted(true); event.setDropCompleted(true);
event.consume(); event.consume();
@ -1132,7 +1133,7 @@ public class JavaFxApplication extends Application {
switch (level) { switch (level) {
case 0: {//编辑项目名称 case 0: {//编辑项目名称
projectManager.getProject().setProjectName((String) event.getNewValue()); projectManager.getProject().setProjectName((String) event.getNewValue());
loadingProject(); loadProject();
} }
break; break;
case 1: {//编辑模块 case 1: {//编辑模块
@ -1147,7 +1148,7 @@ public class JavaFxApplication extends Application {
Table table = projectManager.findTableByTableName(md, (String) event.getOldValue()); Table table = projectManager.findTableByTableName(md, (String) event.getOldValue());
if (table != null) { if (table != null) {
table.setTableName((String) event.getNewValue()); table.setTableName((String) event.getNewValue());
loadingTable(); loadTable();
} }
break; break;
} }

@ -103,8 +103,8 @@ public class MainController {
if (file != null && file.exists()) { if (file != null && file.exists()) {
dBmanger.invalidate(file);//初始化模型树 - 到内容 dBmanger.invalidate(file);//初始化模型树 - 到内容
main.loadingProjectTree();//加载模型树 - 到组件 main.loadProjectTree();//加载模型树 - 到组件
main.loadingProject(); main.loadProject();
} }
} }
@ -139,8 +139,8 @@ public class MainController {
@FXML @FXML
public void modelCreate(ActionEvent actionEvent) { public void modelCreate(ActionEvent actionEvent) {
dBmanger.modelCreate(); dBmanger.modelCreate();
main.loadingProjectTree(); main.loadProjectTree();
main.loadingProject(); main.loadProject();
} }
@FXML @FXML
@ -151,8 +151,8 @@ public class MainController {
public void handle(Event event) { public void handle(Event event) {
dBmanger.delete(); dBmanger.delete();
dBmanger.invalidate(); dBmanger.invalidate();
main.loadingProjectTree(); main.loadProjectTree();
main.loadingProject(); main.loadProject();
} }
}); });
} }
@ -173,7 +173,7 @@ public class MainController {
if (file != null) { if (file != null) {
System.out.println("生成目录:" + file.getAbsolutePath()); System.out.println("生成目录:" + file.getAbsolutePath());
dBmanger.generate(ManagerFactory.getProjectManager().getProject(), file.getAbsolutePath()); dBmanger.generate(ManagerFactory.getProjectManager().getProject(), file);
} }
} }
} }

@ -1,7 +1,6 @@
package xyz.wbsite.dbtool.javafx.manger; package xyz.wbsite.dbtool.javafx.manger;
import org.springframework.boot.system.ApplicationHome; import org.springframework.boot.system.ApplicationHome;
import xyz.wbsite.dbtool.javafx.enums.DataBase;
import xyz.wbsite.dbtool.javafx.enums.FieldType; import xyz.wbsite.dbtool.javafx.enums.FieldType;
import xyz.wbsite.dbtool.javafx.manger.callable.AndroidCallable; import xyz.wbsite.dbtool.javafx.manger.callable.AndroidCallable;
import xyz.wbsite.dbtool.javafx.manger.callable.ApiCallable; import xyz.wbsite.dbtool.javafx.manger.callable.ApiCallable;
@ -17,7 +16,6 @@ import xyz.wbsite.dbtool.javafx.po.MySQLDBmapper;
import xyz.wbsite.dbtool.javafx.po.OracleDBmapper; import xyz.wbsite.dbtool.javafx.po.OracleDBmapper;
import xyz.wbsite.dbtool.javafx.po.Project; import xyz.wbsite.dbtool.javafx.po.Project;
import xyz.wbsite.dbtool.javafx.po.SBMDBOption; import xyz.wbsite.dbtool.javafx.po.SBMDBOption;
import xyz.wbsite.dbtool.javafx.po.SQLiteDBmapper;
import xyz.wbsite.dbtool.javafx.po.Table; import xyz.wbsite.dbtool.javafx.po.Table;
import xyz.wbsite.dbtool.javafx.po.VueOption; import xyz.wbsite.dbtool.javafx.po.VueOption;
import xyz.wbsite.dbtool.javafx.tool.Dialog; import xyz.wbsite.dbtool.javafx.tool.Dialog;
@ -43,8 +41,8 @@ public class ProjectManager {
public static boolean isUpdate = false; public static boolean isUpdate = false;
private XmlManager xmlService; private XmlManager xmlService;
private JsonManager jsonManager; private JsonManager jsonManager;
public static AbstractDBmapper dBmapper;
public static File path; public static File path;
private ExecutorService service = Executors.newCachedThreadPool();
private Project project = new Project(); private Project project = new Project();
public ProjectManager() { public ProjectManager() {
@ -324,32 +322,18 @@ public class ProjectManager {
} }
} }
private static ExecutorService service = Executors.newFixedThreadPool(1);
public void tryGetDBmapper(Project project) {
if (project.getDatabase().equals(DataBase.MySQL.name())) {
dBmapper = new MySQLDBmapper();
} else if (project.getDatabase().equals(DataBase.Oracle.name())) {
dBmapper = new OracleDBmapper();
} else if (project.getDatabase().equals(DataBase.SQLite.name())) {
dBmapper = new SQLiteDBmapper();
}
}
/** /**
* *
* *
* @param path * @param root
*/ */
public void generate(Project project, final String path) { public void generate(Project project, final File root) {
tryGetDBmapper(project);
File root = new File(path);
if (!root.exists()) { if (!root.exists()) {
Dialog.showTimedDialog(1000, "目录不存在!"); Dialog.showTimedDialog(1000, "目录不存在!");
} }
Dialog.showProgress("生成中..."); Dialog.showProgress("生成中...");
new Thread() {
service.execute(new Runnable() {
@Override @Override
public void run() { public void run() {
Callable callback = new SpringBootCallable(project, path); Callable callback = new SpringBootCallable(project, path);
@ -365,13 +349,14 @@ public class ProjectManager {
Dialog.stopPopup(); Dialog.stopPopup();
Dialog.showSuccess("生成完毕."); Dialog.showSuccess("生成完毕.");
} }
}.start(); });
} }
public void generateApi(File module, File api, List<String> domainList, List<Api> apis) { public void generateApi(File module, File api, List<String> domainList, List<Api> apis) {
if (module.exists()) { if (module.exists()) {
Dialog.showProgress("生成中..."); Dialog.showProgress("生成中...");
new Thread() {
service.execute(new Runnable() {
@Override @Override
public void run() { public void run() {
boolean mkdirs = api.mkdirs(); boolean mkdirs = api.mkdirs();
@ -391,7 +376,7 @@ public class ProjectManager {
Dialog.stopPopup(); Dialog.stopPopup();
Dialog.showSuccess("Api生成完毕."); Dialog.showSuccess("Api生成完毕.");
} }
}.start(); });
} }
} }
@ -401,6 +386,7 @@ public class ProjectManager {
@Override @Override
public void run() { public void run() {
AndroidCallable androidCallable = new AndroidCallable(path, option); AndroidCallable androidCallable = new AndroidCallable(path, option);
Future submit = service.submit(androidCallable); Future submit = service.submit(androidCallable);
try { try {
Boolean b = (Boolean) submit.get(); Boolean b = (Boolean) submit.get();
@ -425,6 +411,7 @@ public class ProjectManager {
@Override @Override
public void run() { public void run() {
VueCallable vueCallable = new VueCallable(path, option); VueCallable vueCallable = new VueCallable(path, option);
Future submit = service.submit(vueCallable); Future submit = service.submit(vueCallable);
try { try {
Boolean b = (Boolean) submit.get(); Boolean b = (Boolean) submit.get();
@ -449,6 +436,7 @@ public class ProjectManager {
@Override @Override
public void run() { public void run() {
SBMDBCallable callable = new SBMDBCallable(path, option); SBMDBCallable callable = new SBMDBCallable(path, option);
Future submit = service.submit(callable); Future submit = service.submit(callable);
try { try {
Boolean b = (Boolean) submit.get(); Boolean b = (Boolean) submit.get();
@ -520,9 +508,9 @@ public class ProjectManager {
String driverClassName = properties.get("driverClassName"); String driverClassName = properties.get("driverClassName");
Connection cn = null; Connection cn = null;
if ("Orcale".equals(type)) { if ("Oracle".equals(type)) {
try { try {
dBmapper = new OracleDBmapper(); AbstractDBmapper dBmapper = new OracleDBmapper();
//加载驱动类 //加载驱动类
Class.forName(driverClassName); Class.forName(driverClassName);
@ -593,7 +581,7 @@ public class ProjectManager {
} }
} else if ("Mysql".equals(type)) { } else if ("Mysql".equals(type)) {
try { try {
dBmapper = new MySQLDBmapper(); AbstractDBmapper dBmapper = new MySQLDBmapper();
//加载驱动类 //加载驱动类
Class.forName(driverClassName); Class.forName(driverClassName);
@ -665,7 +653,6 @@ public class ProjectManager {
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); e.printStackTrace();
} }
return false; return false;
} }
return false; return false;

@ -18,7 +18,7 @@ public class ReflashManager extends Thread {
e.printStackTrace(); e.printStackTrace();
} }
if (ProjectManager.isUpdate) { if (ProjectManager.isUpdate) {
main.loadingProjectTree(); main.loadProjectTree();
ProjectManager.isUpdate = false; ProjectManager.isUpdate = false;
} }
} }

@ -3,11 +3,13 @@ package xyz.wbsite.dbtool.javafx.manger.callable;
import xyz.wbsite.dbtool.javafx.enums.DataBase; import xyz.wbsite.dbtool.javafx.enums.DataBase;
import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager; import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager;
import xyz.wbsite.dbtool.javafx.manger.ManagerFactory; import xyz.wbsite.dbtool.javafx.manger.ManagerFactory;
import xyz.wbsite.dbtool.javafx.manger.ProjectManager;
import xyz.wbsite.dbtool.javafx.manger.XmlManager; import xyz.wbsite.dbtool.javafx.manger.XmlManager;
import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper; import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper;
import xyz.wbsite.dbtool.javafx.po.Module; import xyz.wbsite.dbtool.javafx.po.Module;
import xyz.wbsite.dbtool.javafx.po.MySQLDBmapper;
import xyz.wbsite.dbtool.javafx.po.OracleDBmapper;
import xyz.wbsite.dbtool.javafx.po.Project; import xyz.wbsite.dbtool.javafx.po.Project;
import xyz.wbsite.dbtool.javafx.po.SQLiteDBmapper;
import xyz.wbsite.dbtool.javafx.po.Table; import xyz.wbsite.dbtool.javafx.po.Table;
import xyz.wbsite.dbtool.javafx.tool.Tool; import xyz.wbsite.dbtool.javafx.tool.Tool;
import xyz.wbsite.dbtool.web.frame.utils.FileUtil; import xyz.wbsite.dbtool.web.frame.utils.FileUtil;
@ -26,16 +28,25 @@ import java.util.concurrent.Callable;
public class SpringBootCallable implements Callable { public class SpringBootCallable implements Callable {
private String root; private File root;
private Project project; private Project project;
private AbstractDBmapper dBmapper; private AbstractDBmapper dBmapper;
private FreeMarkerManager freeMarkerManager; private FreeMarkerManager freeMarkerManager;
public SpringBootCallable(Project project, String root) { public SpringBootCallable(Project project, File root) {
this.root = root; this.root = root;
this.project = project; this.project = project;
this.freeMarkerManager = ManagerFactory.getFreeMarkerManager(); this.freeMarkerManager = ManagerFactory.getFreeMarkerManager();
this.dBmapper = ProjectManager.dBmapper; // 根据配置获取数据库处理器
if (project.getDatabase().name().equals(DataBase.MySQL.name())) {
this.dBmapper = new MySQLDBmapper();
} else if (project.getDatabase().name().equals(DataBase.Oracle.name())) {
this.dBmapper = new OracleDBmapper();
} else if (project.getDatabase().name().equals(DataBase.SQLite.name())) {
this.dBmapper = new SQLiteDBmapper();
} else {
this.dBmapper = new MySQLDBmapper();
}
} }
@ -65,7 +76,6 @@ public class SpringBootCallable implements Callable {
// 生成POM // 生成POM
generatePom(projectDir, project); generatePom(projectDir, project);
{//生成java文件 {//生成java文件
//生成 Controller //生成 Controller
System.out.println("生成模块:action"); System.out.println("生成模块:action");

@ -3,11 +3,13 @@ package xyz.wbsite.dbtool.javafx.manger.callable;
import xyz.wbsite.dbtool.javafx.enums.DataBase; import xyz.wbsite.dbtool.javafx.enums.DataBase;
import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager; import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager;
import xyz.wbsite.dbtool.javafx.manger.ManagerFactory; import xyz.wbsite.dbtool.javafx.manger.ManagerFactory;
import xyz.wbsite.dbtool.javafx.manger.ProjectManager;
import xyz.wbsite.dbtool.javafx.manger.XmlManager; import xyz.wbsite.dbtool.javafx.manger.XmlManager;
import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper; import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper;
import xyz.wbsite.dbtool.javafx.po.Module; import xyz.wbsite.dbtool.javafx.po.Module;
import xyz.wbsite.dbtool.javafx.po.MySQLDBmapper;
import xyz.wbsite.dbtool.javafx.po.OracleDBmapper;
import xyz.wbsite.dbtool.javafx.po.Project; import xyz.wbsite.dbtool.javafx.po.Project;
import xyz.wbsite.dbtool.javafx.po.SQLiteDBmapper;
import xyz.wbsite.dbtool.javafx.po.Table; import xyz.wbsite.dbtool.javafx.po.Table;
import xyz.wbsite.dbtool.javafx.tool.Tool; import xyz.wbsite.dbtool.javafx.tool.Tool;
@ -22,6 +24,7 @@ public class SpringMVCCallable implements Callable {
private DataBase dataBase; private DataBase dataBase;
private Project project; private Project project;
private String option; private String option;
private AbstractDBmapper dBmapper;
private Tool tool = new Tool(); private Tool tool = new Tool();
private FreeMarkerManager freeMarkerManager; private FreeMarkerManager freeMarkerManager;
@ -32,9 +35,18 @@ public class SpringMVCCallable implements Callable {
this.project = project; this.project = project;
this.option = option; this.option = option;
this.freeMarkerManager = ManagerFactory.getFreeMarkerManager(); this.freeMarkerManager = ManagerFactory.getFreeMarkerManager();
// 根据配置获取数据库处理器
if (project.getDatabase().name().equals(DataBase.MySQL.name())) {
this.dBmapper = new MySQLDBmapper();
} else if (project.getDatabase().name().equals(DataBase.Oracle.name())) {
this.dBmapper = new OracleDBmapper();
} else if (project.getDatabase().name().equals(DataBase.SQLite.name())) {
this.dBmapper = new SQLiteDBmapper();
} else {
this.dBmapper = new MySQLDBmapper();
}
} }
private AbstractDBmapper dBmapper;
public Boolean call() throws Exception { public Boolean call() throws Exception {
@ -45,8 +57,6 @@ public class SpringMVCCallable implements Callable {
Tool.clear(projectFile); Tool.clear(projectFile);
} }
dBmapper = ProjectManager.dBmapper;
String basePackage = this.project.getProjectBasePackage(); String basePackage = this.project.getProjectBasePackage();
String[] split = basePackage.split("\\."); String[] split = basePackage.split("\\.");

@ -10,9 +10,13 @@ import java.util.List;
public class Project extends TreeItem { public class Project extends TreeItem {
public Project() { public Project() {
this.projectName = "EXAMPLE-WEB"; this.projectName = "example-web";
this.projectBasePackage = "com.example"; this.projectBasePackage = "com.example";
this.projectAuthor = "author"; this.projectAuthor = "author";
this.needSys = true;
this.needEMail = false;
this.needCloud = false;
this.database = DataBase.MySQL;
} }
public Project(String projectName) { public Project(String projectName) {

@ -60,7 +60,7 @@ public class ApiClassReader {
} }
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
ApiClassReader javaClassReader = new ApiClassReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\EXAMPLE-WEB\\src\\main\\java\\com\\example\\action\\api\\system\\DictApi.java")); ApiClassReader javaClassReader = new ApiClassReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\example-web\\src\\main\\java\\com\\example\\action\\api\\system\\DictApi.java"));
System.out.println(); System.out.println();
} }

@ -220,7 +220,7 @@ public class Dialog {
ChoiceBox databaseType = controller.getDatabaseType(); ChoiceBox databaseType = controller.getDatabaseType();
ObservableList<String> data = FXCollections.observableArrayList(); ObservableList<String> data = FXCollections.observableArrayList();
data.add("Orcale"); data.add("Oracle");
data.add("Mysql"); data.add("Mysql");
databaseType.setItems(data); databaseType.setItems(data);
databaseType.setValue("Mysql"); databaseType.setValue("Mysql");
@ -232,7 +232,7 @@ public class Dialog {
public void handle(ActionEvent event) { public void handle(ActionEvent event) {
String value = (String) databaseType.getValue(); String value = (String) databaseType.getValue();
if ("Orcale".equals(value)) { if ("Oracle".equals(value)) {
controller.getDriver().setText("oracle.jdbc.OracleDriver"); controller.getDriver().setText("oracle.jdbc.OracleDriver");
controller.getUrl().setText("jdbc:oracle:thin:@127.0.0.1:1521:orcl"); controller.getUrl().setText("jdbc:oracle:thin:@127.0.0.1:1521:orcl");
} else if ("Mysql".equals(value)) { } else if ("Mysql".equals(value)) {

@ -78,13 +78,13 @@ public class EntityReader {
notesList.add(line); notesList.add(line);
} }
if (line.matches("public class\\s+(.*)\\s+extends\\s+BaseEntity\\s*\\{")) { if (line.matches("public class\\s+(.*)\\s+extends\\s+(\\w*)\\s*\\{")) {
Pattern compile = Pattern.compile("public class\\s+(.*)\\s+extends\\s+BaseEntity\\s*\\{"); Pattern compile = Pattern.compile("public class\\s+(.*)\\s+extends\\s+(\\w*)\\s*\\{");
Matcher matcher = compile.matcher(line); Matcher matcher = compile.matcher(line);
if (matcher.find()) { if (matcher.find()) {
className = matcher.group(1); className = matcher.group(1);
fatherName = "BaseEntity"; fatherName = matcher.group(2);
} }
continue; continue;
} }
@ -229,7 +229,7 @@ public class EntityReader {
} }
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
EntityReader javaClassReader = new EntityReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\EXAMPLE-WEB\\src\\main\\java\\com\\example\\module\\system\\rsp\\DictFindResponse.java")); EntityReader javaClassReader = new EntityReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\example-web\\src\\main\\java\\com\\example\\module\\system\\rsp\\DictFindResponse.java"));
System.out.println(); System.out.println();
} }

@ -255,7 +255,7 @@ public class RequestReader {
} }
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
RequestReader requestReader = new RequestReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\EXAMPLE-WEB\\src\\main\\java\\com\\example\\module\\system\\rsp\\DictFindResponse.java")); RequestReader requestReader = new RequestReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\example-web\\src\\main\\java\\com\\example\\module\\system\\rsp\\DictFindResponse.java"));
System.out.println(); System.out.println();
} }

@ -245,7 +245,7 @@ public class ResponseReader {
} }
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
ResponseReader requestReader = new ResponseReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\EXAMPLE-WEB\\src\\main\\java\\com\\example\\module\\system\\rsp\\DictFindResponse.java")); ResponseReader requestReader = new ResponseReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\example-web\\src\\main\\java\\com\\example\\module\\system\\rsp\\DictFindResponse.java"));
System.out.println(); System.out.println();
} }

@ -464,6 +464,10 @@ public class Tool {
return file; return file;
} }
public static File createPath(File path, String subdir) {
return createPath(path.getAbsolutePath(), subdir);
}
public static File createFile(String path, String fileName) { public static File createFile(String path, String fileName) {
File path1 = createPath(path); File path1 = createPath(path);
File f = new File(path1, fileName); File f = new File(path1, fileName);

@ -0,0 +1,147 @@
package ${basePackage}.frame.utils;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
/**
*
* <p>
* : 使
* <dependency>
* <groupId>javax.mail</groupId>
* <artifactId>mail</artifactId>
* <version>1.4.7</version>
* </dependency>
* <p>
* : JavaMailSenderSpringboot
* JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
* javaMailSender.setDefaultEncoding(UTF-8);
* javaMailSender.setHost(smtp.example.com);
* javaMailSender.setUsername(**@example.com);
* javaMailSender.setPassword(******);
* javaMailSender.setPort(25);
* <p>
*
* MailUtil.sendSimpleMail(javaMailSender, username, "**@example.com", "标题", "内容");
* <p>
* HTML
* String html = "<html><body><h2>HTML邮件内容</h2><br><marquee>飞机飞走了.。。o O 0 ○~~~~~~~</marquee></body></html>";
* MailUtil.sendHtmlMail(javaMailSender, username, "**@example.com", "给你的", html);
* <p>
*
* MailUtil.sendAttachmentsMail(javaMailSender, username, "**@example.com", "给你的", html, "E:\\1.jpg");
* <p>
* HTML<img>
* String resId = "id_001";
* String html2 = "<html><body><h2>html邮件内容</h2><br><img src=\'cid:" + resId + "\'></img></body></html>";
* MailUtil.sendInlineResourceMail(javaMailSender, username, "**@example.com", "标题", html2, "E:\\1.jpg", resId);
*/
public class MailUtil {
/**
*
*
* @param sender
* @param from
* @param to
* @param subject
* @param content
*/
public static void sendSimpleMail(JavaMailSender sender, String from, String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(content);
message.setFrom(from);
sender.send(message);
}
/**
* HTML
*
* @param sender
* @param from
* @param to
* @param subject
* @param content
*/
public static void sendHtmlMail(JavaMailSender sender, String from, String to, String subject, String content) {
MimeMessage message = sender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo(to);
helper.setFrom(from);
helper.setSubject(subject);
helper.setText(content, true);
sender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
/**
*
*
* @param sender
* @param from
* @param to
* @param subject
* @param content
* @param filePath
*/
public static void sendAttachmentsMail(JavaMailSender sender, String from, String to, String subject, String content, String filePath) {
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = null;
try {
helper = new MimeMessageHelper(message, true);
helper.setTo(to);
helper.setFrom(from);
helper.setSubject(subject);
helper.setText(content, true);
FileSystemResource file = new FileSystemResource(new File(filePath));
String fileName = file.getFilename();
//此处可以添加多个附件
helper.addAttachment(fileName, file);
sender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
/**
*
*
* @param sender
* @param from
* @param to
* @param subject
* @param content
* @param rscPath
* @param rscId ID
*/
public static void sendInlineResourceMail(JavaMailSender sender, String from, String to, String subject, String content, String rscPath, String rscId) {
MimeMessage message = sender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo(to);
helper.setFrom(from);
helper.setSubject(subject);
helper.setText(content, true);
//可以添加多个图片
FileSystemResource res = new FileSystemResource(new File(rscPath));
helper.addInline(rscId, res);
sender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
Loading…
Cancel
Save

Powered by TurnKey Linux.