diff --git a/pom.xml b/pom.xml
index 50d2375..9ff7ea3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
org.springframework.boot
spring-boot-starter-parent
- 1.5.3.RELEASE
+ 1.5.6.RELEASE
@@ -33,38 +33,20 @@
- org.freemarker
- freemarker
- 2.3.26-incubating
-
-
-
- org.xerial
- sqlite-jdbc
- 3.16.1
-
-
-
- mysql
- mysql-connector-java
- 5.1.28
-
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
+ org.springframework
+ spring-jdbc
- com.alibaba
- druid
- 1.0.29
+ org.freemarker
+ freemarker
+ 2.3.26-incubating
de.roskenet
springboot-javafx-support
- 1.3.22
+ 1.3.30
@@ -79,6 +61,12 @@
${freemarker.version}
+
+ mysql
+ mysql-connector-java
+ 5.1.28
+
+
com.alibaba
fastjson
diff --git a/res/generate.db b/res/generate.db
deleted file mode 100644
index 581bbb9..0000000
Binary files a/res/generate.db and /dev/null differ
diff --git a/res/templates/demo2/dao.ftl b/res/templates/demo2/dao.ftl
index 880c3c7..a88b995 100644
--- a/res/templates/demo2/dao.ftl
+++ b/res/templates/demo2/dao.ftl
@@ -25,9 +25,9 @@ public interface ${className!} {
@Delete({
"delete from ${(table.tableName)!}",
- "where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!},jdbcType=${(primaryData.type.jdbcType)!}${r"}"}"
+ "where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!},jdbcType=${(primaryData.dataType.jdbcType)!}${r"}"}"
})
- int deleteByPrimaryKey(${(primaryData.type.javaType)!} ${(primaryData.name)!});
+ int deleteByPrimaryKey(${(primaryData.dataType.javaType)!} ${(primaryData.name)!});
int updateByPrimaryKey(${domainName!} ${domainName?uncap_first!});
@@ -36,10 +36,10 @@ public interface ${className!} {
@Select({
"select * ",
"from ${(table.tableName)!}",
- "where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!},jdbcType=${(primaryData.type.jdbcType)!}${r"}"}"
+ "where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!},jdbcType=${(primaryData.dataType.jdbcType)!}${r"}"}"
})
@ResultMap("BaseResultMap")
- ${domainName!} selectByPrimaryKey(${(primaryData.type.javaType)!} ${(primaryData.name)!});
+ ${domainName!} selectByPrimaryKey(${(primaryData.dataType.javaType)!} ${(primaryData.name)!});
@ResultMap("BaseResultMap")
List<${domainName!}> query(@Param("query") Query query);
diff --git a/res/templates/demo2/domain.ftl b/res/templates/demo2/domain.ftl
index 1be9b24..c05a2b1 100644
--- a/res/templates/demo2/domain.ftl
+++ b/res/templates/demo2/domain.ftl
@@ -16,15 +16,15 @@ public class ${domainName!} {
/**
* ${(columnData.column.columnComment)!}
*/
- private ${(columnData.type.javaType)!} ${(columnData.name)!};
+ private ${(columnData.dataType.javaType)!} ${(columnData.name)!};
#list>
<#list columnDatas as columnData>
- public ${(columnData.type.javaType)!} get${(columnData.name)?cap_first!}() {
+ public ${(columnData.dataType.javaType)!} get${(columnData.name)?cap_first!}() {
return ${(columnData.name)!};
}
- public void set${(columnData.name)?cap_first!}(${(columnData.type.javaType)!} ${(columnData.name)!}) {
+ public void set${(columnData.name)?cap_first!}(${(columnData.dataType.javaType)!} ${(columnData.name)!}) {
this.${(columnData.name)!} = ${(columnData.name)!};
}
diff --git a/res/templates/demo2/mapper.ftl b/res/templates/demo2/mapper.ftl
index 8ff0c66..aee20b4 100644
--- a/res/templates/demo2/mapper.ftl
+++ b/res/templates/demo2/mapper.ftl
@@ -1,12 +1,12 @@
-
+
<#list columnDatas as columnData>
<#if columnData.column.columnKey == "PRI">
-
+
<#else >
-
+
#if>
#list>
@@ -115,10 +115,10 @@
`${r"${"}compare.column${r"}"}`
- <
- <=
- >
- >=
+ <
+ <=
+ >
+ >=
'${r"${"}compare.value${r"}"}'
@@ -158,7 +158,7 @@
order by
- `${r"${"}order.column${r"}"}` ${r"${"}order.type${r"}"}
+ `${r"${"}order.column${r"}"}` ${r"${"}order.dataType${r"}"}
diff --git a/res/templates/don/dao.ftl b/res/templates/don/dao.ftl
index 67bbe35..3480811 100644
--- a/res/templates/don/dao.ftl
+++ b/res/templates/don/dao.ftl
@@ -23,14 +23,14 @@ interface ${className!} {
fun insertSelective(${domainName?uncap_first!}: ${domainName!}): Int
@Delete("delete from ${(table.tableName)!} where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!}${r"}"}")
- fun deleteByPrimaryKey(${(primaryData.name)!}: ${(primaryData.type.javaType)!}): Int
+ fun deleteByPrimaryKey(${(primaryData.name)!}: ${(primaryData.dataType.javaType)!}): Int
fun updateByPrimaryKey(${domainName?uncap_first!}: ${domainName!}): Int
fun updateByPrimaryKeySelective(${domainName?uncap_first!}: ${domainName!}): Int
@Select("select * from ${(table.tableName)!} where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!}${r"}"}")
- fun selectByPrimaryKey(${(primaryData.name)!}: ${(primaryData.type.javaType)!}): ${domainName!}?
+ fun selectByPrimaryKey(${(primaryData.name)!}: ${(primaryData.dataType.javaType)!}): ${domainName!}?
@ResultMap("BaseResultMap")
fun query(@Param("query") query: Query): List<${domainName!}>
diff --git a/res/templates/don/domain.ftl b/res/templates/don/domain.ftl
index a4a3d94..2d6e922 100644
--- a/res/templates/don/domain.ftl
+++ b/res/templates/don/domain.ftl
@@ -15,6 +15,6 @@ class ${domainName!} {
/**
* ${(columnData.column.columnComment)!}
*/
- var ${(columnData.name)!}: ${(columnData.type.javaType)!}? = null
+ var ${(columnData.name)!}: ${(columnData.dataType.javaType)!}? = null
#list>
}
\ No newline at end of file
diff --git a/res/templates/don/iservice.ftl b/res/templates/don/iservice.ftl
index 8e2571b..ac57bb0 100644
--- a/res/templates/don/iservice.ftl
+++ b/res/templates/don/iservice.ftl
@@ -9,7 +9,7 @@ import ${(data.basePackage)!}.domain.${domainName!}
* ${(data.url)!}
*/
interface ${className!} {
- fun findById(${(primaryData.name)!}: ${(primaryData.type.javaType)!}): ${domainName!}?
+ fun findById(${(primaryData.name)!}: ${(primaryData.dataType.javaType)!}): ${domainName!}?
- fun deleteById(${(primaryData.name)!}: ${(primaryData.type.javaType)!}): Int
+ fun deleteById(${(primaryData.name)!}: ${(primaryData.dataType.javaType)!}): Int
}
\ No newline at end of file
diff --git a/res/templates/don/mapper.ftl b/res/templates/don/mapper.ftl
index e74cb70..2a7842c 100644
--- a/res/templates/don/mapper.ftl
+++ b/res/templates/don/mapper.ftl
@@ -1,12 +1,12 @@
-
+
<#list columnDatas as columnData>
<#if columnData.column.columnKey == "PRI">
-
+
<#else >
-
+
#if>
#list>
@@ -115,10 +115,10 @@
`${r"${"}compare.column${r"}"}`
- <
- <=
- >
- >=
+ <
+ <=
+ >
+ >=
'${r"${"}compare.value${r"}"}'
@@ -158,7 +158,7 @@
order by
- `${r"${"}order.column${r"}"}` ${r"${"}order.type${r"}"}
+ `${r"${"}order.column${r"}"}` ${r"${"}order.dataType${r"}"}
diff --git a/res/templates/don/service.ftl b/res/templates/don/service.ftl
index ecafb3f..4d78492 100644
--- a/res/templates/don/service.ftl
+++ b/res/templates/don/service.ftl
@@ -18,8 +18,8 @@ class ${className!} : ServiceBase(), I${className!} {
@Autowired
private lateinit var ${domainName?uncap_first!}Dao: I${domainName!}Dao
- override fun deleteById(${(primaryData.name)!}: ${(primaryData.type.javaType)!}) = ${domainName?uncap_first!}Dao.deleteByPrimaryKey(${(primaryData.name)!})
+ override fun deleteById(${(primaryData.name)!}: ${(primaryData.dataType.javaType)!}) = ${domainName?uncap_first!}Dao.deleteByPrimaryKey(${(primaryData.name)!})
- override fun findById(${(primaryData.name)!}: ${(primaryData.type.javaType)!}) = ${domainName?uncap_first!}Dao.selectByPrimaryKey(${(primaryData.name)!})
+ override fun findById(${(primaryData.name)!}: ${(primaryData.dataType.javaType)!}) = ${domainName?uncap_first!}Dao.selectByPrimaryKey(${(primaryData.name)!})
}
\ No newline at end of file
diff --git a/res/templates/donJava/dao.ftl b/res/templates/donJava/dao.ftl
index 3a4ffea..10aba9a 100644
--- a/res/templates/donJava/dao.ftl
+++ b/res/templates/donJava/dao.ftl
@@ -24,7 +24,7 @@ public interface ${className!} {
int insertSelective(${domainName!} ${domainName?uncap_first!});
@Delete("delete from ${(table.tableName)!} where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!}${r"}"}")
- int deleteByPrimaryKey(${(primaryData.type.javaType)!} ${(primaryData.name)!});
+ int deleteByPrimaryKey(${(primaryData.dataType.javaType)!} ${(primaryData.name)!});
int updateByPrimaryKey(${domainName!} ${domainName?uncap_first!});
@@ -32,7 +32,7 @@ public interface ${className!} {
@Select("select * from ${(table.tableName)!} where ${(primaryData.column.columnName)!} = ${r"#{"}${(primaryData.name)!}${r"}"}")
@ResultMap("BaseResultMap")
- ${domainName!} selectByPrimaryKey(${(primaryData.type.javaType)!} ${(primaryData.name)!});
+ ${domainName!} selectByPrimaryKey(${(primaryData.dataType.javaType)!} ${(primaryData.name)!});
@ResultMap("BaseResultMap")
List<${domainName!}> query(@Param("query") Query query);
diff --git a/res/templates/donJava/domain.ftl b/res/templates/donJava/domain.ftl
index c83ec04..7b8bce8 100644
--- a/res/templates/donJava/domain.ftl
+++ b/res/templates/donJava/domain.ftl
@@ -15,15 +15,15 @@ public class ${domainName!} {
/**
* ${(columnData.column.columnComment)!}
*/
- private ${(columnData.type.javaType)!} ${(columnData.name)!};
+ private ${(columnData.dataType.javaType)!} ${(columnData.name)!};
#list>
<#list columnDatas as columnData>
- public ${(columnData.type.javaType)!} get${(columnData.name)?cap_first!}() {
+ public ${(columnData.dataType.javaType)!} get${(columnData.name)?cap_first!}() {
return ${(columnData.name)!};
}
- public void set${(columnData.name)?cap_first!}(${(columnData.type.javaType)!} ${(columnData.name)!}) {
+ public void set${(columnData.name)?cap_first!}(${(columnData.dataType.javaType)!} ${(columnData.name)!}) {
this.${(columnData.name)!} = ${(columnData.name)!};
}
diff --git a/res/templates/donJava/iservice.ftl b/res/templates/donJava/iservice.ftl
index fbd45b3..fc0be31 100644
--- a/res/templates/donJava/iservice.ftl
+++ b/res/templates/donJava/iservice.ftl
@@ -11,7 +11,7 @@ import java.util.Optional;
*/
public interface ${className!} {
- Optional<${domainName!}> findById(${(primaryData.type.javaType)!} ${(primaryData.name)!});
+ Optional<${domainName!}> findById(${(primaryData.dataType.javaType)!} ${(primaryData.name)!});
- void deleteById(${(primaryData.type.javaType)!} ${(primaryData.name)!});
+ void deleteById(${(primaryData.dataType.javaType)!} ${(primaryData.name)!});
}
\ No newline at end of file
diff --git a/res/templates/donJava/mapper.ftl b/res/templates/donJava/mapper.ftl
index 124ddc5..1b375dc 100644
--- a/res/templates/donJava/mapper.ftl
+++ b/res/templates/donJava/mapper.ftl
@@ -1,12 +1,12 @@
-
+
<#list columnDatas as columnData>
<#if columnData.column.columnKey == "PRI">
-
+
<#else >
-
+
#if>
#list>
@@ -115,10 +115,10 @@
`${r"${"}compare.column${r"}"}`
- <
- <=
- >
- >=
+ <
+ <=
+ >
+ >=
'${r"${"}compare.value${r"}"}'
@@ -158,7 +158,7 @@
order by
- `${r"${"}order.column${r"}"}` ${r"${"}order.type${r"}"}
+ `${r"${"}order.column${r"}"}` ${r"${"}order.dataType${r"}"}
diff --git a/res/templates/donJava/service.ftl b/res/templates/donJava/service.ftl
index 6d7c4a0..be9f835 100644
--- a/res/templates/donJava/service.ftl
+++ b/res/templates/donJava/service.ftl
@@ -22,14 +22,14 @@ public class ${className!} extends ServiceBase implements I${className!} {
private I${domainName!}Dao ${domainName?uncap_first!}Dao;
@Override
- public Optional<${domainName!}> findById(${(primaryData.type.javaType)!} ${(primaryData.name)!}) {
+ public Optional<${domainName!}> findById(${(primaryData.dataType.javaType)!} ${(primaryData.name)!}) {
Assert.notNull(${(primaryData.name)!},"${(primaryData.name)!} is required");
${domainName} ${domainName?uncap_first!} = ${domainName?uncap_first!}Dao.selectByPrimaryKey(${(primaryData.name)!});
return Optional.ofNullable(${domainName?uncap_first!});
}
@Override
- public void deleteById(${(primaryData.type.javaType)!} ${(primaryData.name)!}) {
+ public void deleteById(${(primaryData.dataType.javaType)!} ${(primaryData.name)!}) {
Assert.notNull(${(primaryData.name)!},"${(primaryData.name)!} is required");
${domainName?uncap_first!}Dao.deleteByPrimaryKey(${(primaryData.name)!});
}
diff --git a/src/main/java/me/beldon/GenerateApplication.java b/src/main/java/me/beldon/GenerateApplication.java
index e76ba8e..1b69035 100644
--- a/src/main/java/me/beldon/GenerateApplication.java
+++ b/src/main/java/me/beldon/GenerateApplication.java
@@ -2,24 +2,18 @@
import de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport;
import javafx.application.Platform;
-import javafx.geometry.Pos;
import javafx.stage.Stage;
-import javafx.util.Duration;
import me.beldon.module.generate.ui.GenerateView;
-import me.beldon.module.window.service.impl.WindowService;
-import me.beldon.module.window.ui.MainView;
+import me.beldon.module.window.service.impl.WindowServiceImpl;
import me.beldon.util.SpringContextUtil;
-import org.controlsfx.control.Notifications;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Lazy;
import java.awt.*;
@SpringBootApplication
public class GenerateApplication extends AbstractJavaFxApplicationSupport {
-
+ public static String DRIVER_MYSQL = "com.mysql.jdbc.Driver";
public static void main(String[] args) {
-// launchApp(GenerateApplication.class, MainView.class, args);
launchApp(GenerateApplication.class, GenerateView.class, args);
}
@@ -30,8 +24,18 @@ public void start(Stage stage) throws Exception {
getStage().setOnCloseRequest(event -> {
Platform.setImplicitExit(false); //禁止退出
Platform.runLater(getStage()::hide); //最小化到托盘
- WindowService windowService = SpringContextUtil.getApplicationContext().getBean(WindowService.class);
- windowService.enableTray();
+ WindowServiceImpl windowServiceImpl = SpringContextUtil.getApplicationContext().getBean(WindowServiceImpl.class);
+ windowServiceImpl.enableTray();
});
}
+
+
+
+ static {
+ try {
+ Class.forName(DRIVER_MYSQL);
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/src/main/java/me/beldon/core/SQLiteDialect.java b/src/main/java/me/beldon/core/SQLiteDialect.java
deleted file mode 100644
index f7430de..0000000
--- a/src/main/java/me/beldon/core/SQLiteDialect.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package me.beldon.core;
-
-import org.hibernate.dialect.Dialect;
-import org.hibernate.dialect.function.SQLFunctionTemplate;
-import org.hibernate.dialect.function.StandardSQLFunction;
-import org.hibernate.dialect.function.VarArgsSQLFunction;
-import org.hibernate.type.StringType;
-
-import java.sql.Types;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/21, All Rights Reserved.
- * http://beldon.me
- */
-public class SQLiteDialect extends Dialect {
- public SQLiteDialect() {
- registerColumnType(Types.BIT, "integer");
- registerColumnType(Types.TINYINT, "tinyint");
- registerColumnType(Types.SMALLINT, "smallint");
- registerColumnType(Types.INTEGER, "integer");
- registerColumnType(Types.BIGINT, "bigint");
- registerColumnType(Types.FLOAT, "float");
- registerColumnType(Types.REAL, "real");
- registerColumnType(Types.DOUBLE, "double");
- registerColumnType(Types.NUMERIC, "numeric");
- registerColumnType(Types.DECIMAL, "decimal");
- registerColumnType(Types.CHAR, "char");
- registerColumnType(Types.VARCHAR, "varchar");
- registerColumnType(Types.LONGVARCHAR, "longvarchar");
- registerColumnType(Types.DATE, "date");
- registerColumnType(Types.TIME, "time");
- registerColumnType(Types.TIMESTAMP, "timestamp");
- registerColumnType(Types.BINARY, "blob");
- registerColumnType(Types.VARBINARY, "blob");
- registerColumnType(Types.LONGVARBINARY, "blob");
- // registerColumnType(Types.NULL, "null");
- registerColumnType(Types.BLOB, "blob");
- registerColumnType(Types.CLOB, "clob");
- registerColumnType(Types.BOOLEAN, "integer");
-
- registerFunction( "concat", new VarArgsSQLFunction(StringType.INSTANCE, "", "||", "") );
- registerFunction( "mod", new SQLFunctionTemplate( StringType.INSTANCE, "?1 % ?2" ) );
- registerFunction( "substr", new StandardSQLFunction("substr", StringType.INSTANCE) );
- registerFunction( "substring", new StandardSQLFunction( "substr", StringType.INSTANCE) );
- }
-
- public boolean supportsIdentityColumns() {
- return true;
- }
-
- /*
- public boolean supportsInsertSelectIdentity() {
- return true; // As specify in NHibernate dialect
- }
- */
-
- public boolean hasDataTypeInIdentityColumn() {
- return false; // As specify in NHibernate dialect
- }
-
- /*
- public String appendIdentitySelectToInsert(String insertString) {
- return new StringBuffer(insertString.length()+30). // As specify in NHibernate dialect
- append(insertString).
- append("; ").append(getIdentitySelectString()).
- toString();
- }
- */
-
- public String getIdentityColumnString() {
- // return "integer primary key autoincrement";
- return "integer";
- }
-
- public String getIdentitySelectString() {
- return "select last_insert_rowid()";
- }
-
- public boolean supportsLimit() {
- return true;
- }
-
- protected String getLimitString(String query, boolean hasOffset) {
- return new StringBuffer(query.length()+20).
- append(query).
- append(hasOffset ? " limit ? offset ?" : " limit ?").
- toString();
- }
-
- public boolean supportsTemporaryTables() {
- return true;
- }
-
- public String getCreateTemporaryTableString() {
- return "create temporary table if not exists";
- }
-
- public boolean dropTemporaryTableAfterUse() {
- return false;
- }
-
- public boolean supportsCurrentTimestampSelection() {
- return true;
- }
-
- public boolean isCurrentTimestampSelectStringCallable() {
- return false;
- }
-
- public String getCurrentTimestampSelectString() {
- return "select current_timestamp";
- }
-
- public boolean supportsUnionAll() {
- return true;
- }
-
- public boolean hasAlterTable() {
- return false; // As specify in NHibernate dialect
- }
-
- public boolean dropConstraints() {
- return false;
- }
-
- public String getAddColumnString() {
- return "add column";
- }
-
- public String getForUpdateString() {
- return "";
- }
-
- public boolean supportsOuterJoinForUpdate() {
- return false;
- }
-
- public String getDropForeignKeyString() {
- throw new UnsupportedOperationException("No drop foreign key syntax supported by SQLiteDialect");
- }
-
- public String getAddForeignKeyConstraintString(String constraintName,
- String[] foreignKey, String referencedTable, String[] primaryKey,
- boolean referencesPrimaryKey) {
- throw new UnsupportedOperationException("No add foreign key syntax supported by SQLiteDialect");
- }
-
- public String getAddPrimaryKeyConstraintString(String constraintName) {
- throw new UnsupportedOperationException("No add primary key syntax supported by SQLiteDialect");
- }
-
- public boolean supportsIfExistsBeforeTableName() {
- return true;
- }
-
- public boolean supportsCascadeDelete() {
- return false;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/me/beldon/core/util/SpringContextUtils.java b/src/main/java/me/beldon/core/util/SpringContextUtils.java
deleted file mode 100644
index ea4177d..0000000
--- a/src/main/java/me/beldon/core/util/SpringContextUtils.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package me.beldon.core.util;
-
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/21, All Rights Reserved.
- * http://beldon.me
- */
-@Component
-public class SpringContextUtils implements ApplicationContextAware {
- private static ApplicationContext applicationContext;
- @Override
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- SpringContextUtils.applicationContext = applicationContext;
- }
-
- public static ApplicationContext getApplicationContext() {
- return applicationContext;
- }
-}
diff --git a/src/main/java/me/beldon/module/database/bean/ColumnData.java b/src/main/java/me/beldon/module/database/bean/ColumnData.java
index 9299510..043e33b 100644
--- a/src/main/java/me/beldon/module/database/bean/ColumnData.java
+++ b/src/main/java/me/beldon/module/database/bean/ColumnData.java
@@ -10,7 +10,7 @@
*/
public class ColumnData {
private String name;
- private Type type;
+ private DataType dataType;
private Columns column;
public String getName() {
@@ -21,12 +21,12 @@ public void setName(String name) {
this.name = name;
}
- public Type getType() {
- return type;
+ public DataType getDataType() {
+ return dataType;
}
- public void setType(Type type) {
- this.type = type;
+ public void setDataType(DataType dataType) {
+ this.dataType = dataType;
}
public Columns getColumn() {
diff --git a/src/main/java/me/beldon/module/database/bean/Type.java b/src/main/java/me/beldon/module/database/bean/DataType.java
similarity index 88%
rename from src/main/java/me/beldon/module/database/bean/Type.java
rename to src/main/java/me/beldon/module/database/bean/DataType.java
index 71be6ce..febfe02 100644
--- a/src/main/java/me/beldon/module/database/bean/Type.java
+++ b/src/main/java/me/beldon/module/database/bean/DataType.java
@@ -5,16 +5,16 @@
* Copyright (c) 2016/10/18, All Rights Reserved.
* http://beldon.me
*/
-public class Type {
+public class DataType {
private String mysqlType;
private String jdbcType;
private String javaType;
private String javaFullType;
- public Type() {
+ public DataType() {
}
- public Type(String mysqlType, String jdbcType, String javaType, String javaFullType) {
+ public DataType(String mysqlType, String jdbcType, String javaType, String javaFullType) {
this.mysqlType = mysqlType;
this.jdbcType = jdbcType;
this.javaType = javaType;
diff --git a/src/main/java/me/beldon/module/database/bean/GenerateData.java b/src/main/java/me/beldon/module/database/bean/GenerateData.java
index c8eb1ac..a9a2e9f 100644
--- a/src/main/java/me/beldon/module/database/bean/GenerateData.java
+++ b/src/main/java/me/beldon/module/database/bean/GenerateData.java
@@ -1,12 +1,9 @@
package me.beldon.module.database.bean;
-import me.beldon.module.database.entity.mysql.Columns;
import me.beldon.module.database.entity.mysql.Tables;
import me.beldon.module.template.bean.TemplateDetails;
import me.beldon.module.template.bean.TemplateFtl;
-import java.util.List;
-
/**
* 代码生成的基本信息
* Created by Beldon.
@@ -19,6 +16,9 @@ public class GenerateData {
*/
private String author = "";
+ /**
+ * 作者url
+ */
private String url = "";
/**
diff --git a/src/main/java/me/beldon/module/database/entity/package-info.java b/src/main/java/me/beldon/module/database/entity/package-info.java
deleted file mode 100644
index fa828e5..0000000
--- a/src/main/java/me/beldon/module/database/entity/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/26, All Rights Reserved.
- * http://beldon.me
- */
-package me.beldon.module.database.entity;
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/database/package-info.java b/src/main/java/me/beldon/module/database/package-info.java
deleted file mode 100644
index 15e20ca..0000000
--- a/src/main/java/me/beldon/module/database/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/26, All Rights Reserved.
- * http://beldon.me
- */
-package me.beldon.module.database;
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/database/service/IDatabaseService.java b/src/main/java/me/beldon/module/database/service/DatabaseService.java
similarity index 76%
rename from src/main/java/me/beldon/module/database/service/IDatabaseService.java
rename to src/main/java/me/beldon/module/database/service/DatabaseService.java
index 84ffc2f..7de4bac 100644
--- a/src/main/java/me/beldon/module/database/service/IDatabaseService.java
+++ b/src/main/java/me/beldon/module/database/service/DatabaseService.java
@@ -1,6 +1,6 @@
package me.beldon.module.database.service;
-import me.beldon.module.generate.domain.ConnectDb;
+import me.beldon.module.generate.bean.ConnectDb;
import org.springframework.jdbc.core.JdbcTemplate;
/**
@@ -8,7 +8,7 @@
* Copyright (c) 2017/5/26, All Rights Reserved.
* http://beldon.me
*/
-public interface IDatabaseService {
+public interface DatabaseService {
void switchConnect(ConnectDb connectDb);
diff --git a/src/main/java/me/beldon/module/database/service/IMySqlService.java b/src/main/java/me/beldon/module/database/service/MySqlService.java
similarity index 97%
rename from src/main/java/me/beldon/module/database/service/IMySqlService.java
rename to src/main/java/me/beldon/module/database/service/MySqlService.java
index 30be9e3..59dcb73 100644
--- a/src/main/java/me/beldon/module/database/service/IMySqlService.java
+++ b/src/main/java/me/beldon/module/database/service/MySqlService.java
@@ -14,7 +14,7 @@
* Copyright (c) 2016/10/14, All Rights Reserved.
* http://beldon.me
*/
-public interface IMySqlService {
+public interface MySqlService {
/**
* 获取所有Schemata
*
diff --git a/src/main/java/me/beldon/module/database/service/IMySqlTypeService.java b/src/main/java/me/beldon/module/database/service/MySqlTypeService.java
similarity index 54%
rename from src/main/java/me/beldon/module/database/service/IMySqlTypeService.java
rename to src/main/java/me/beldon/module/database/service/MySqlTypeService.java
index 71e9cda..451c363 100644
--- a/src/main/java/me/beldon/module/database/service/IMySqlTypeService.java
+++ b/src/main/java/me/beldon/module/database/service/MySqlTypeService.java
@@ -1,13 +1,13 @@
package me.beldon.module.database.service;
-import me.beldon.module.database.bean.Type;
+import me.beldon.module.database.bean.DataType;
/**
* Created by Beldon.
* Copyright (c) 2016/10/18, All Rights Reserved.
* http://beldon.me
*/
-public interface IMySqlTypeService {
- Type getType(String mysqlType);
+public interface MySqlTypeService {
+ DataType getType(String mysqlType);
}
diff --git a/src/main/java/me/beldon/module/database/service/impl/DatabaseService.java b/src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java
similarity index 80%
rename from src/main/java/me/beldon/module/database/service/impl/DatabaseService.java
rename to src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java
index 74f38c9..79d5dc1 100644
--- a/src/main/java/me/beldon/module/database/service/impl/DatabaseService.java
+++ b/src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java
@@ -1,8 +1,8 @@
package me.beldon.module.database.service.impl;
-import me.beldon.module.database.service.IDatabaseService;
-import me.beldon.module.database.service.IMySqlService;
-import me.beldon.module.generate.domain.ConnectDb;
+import me.beldon.module.database.service.DatabaseService;
+import me.beldon.module.database.service.MySqlService;
+import me.beldon.module.generate.bean.ConnectDb;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
@@ -14,12 +14,12 @@
* http://beldon.me
*/
@Service
-public class DatabaseService implements IDatabaseService {
+public class DatabaseServiceImpl implements DatabaseService {
private JdbcTemplate jdbcTemplate;
@Autowired
- private IMySqlService mySqlService;
+ private MySqlService mySqlService;
@Override
public void switchConnect(ConnectDb connectDb) {
diff --git a/src/main/java/me/beldon/module/database/service/impl/MySqlService.java b/src/main/java/me/beldon/module/database/service/impl/MySqlServiceImpl.java
similarity index 91%
rename from src/main/java/me/beldon/module/database/service/impl/MySqlService.java
rename to src/main/java/me/beldon/module/database/service/impl/MySqlServiceImpl.java
index e936f5f..bd462a5 100644
--- a/src/main/java/me/beldon/module/database/service/impl/MySqlService.java
+++ b/src/main/java/me/beldon/module/database/service/impl/MySqlServiceImpl.java
@@ -3,8 +3,7 @@
import me.beldon.module.database.entity.mysql.Columns;
import me.beldon.module.database.entity.mysql.Schemata;
import me.beldon.module.database.entity.mysql.Tables;
-import me.beldon.module.database.service.IMySqlService;
-import org.springframework.beans.factory.annotation.Autowired;
+import me.beldon.module.database.service.MySqlService;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@@ -19,7 +18,7 @@
*/
@SuppressWarnings({"SqlDialectInspection", "SqlNoDataSourceInspection"})
@Service
-public class MySqlService implements IMySqlService {
+public class MySqlServiceImpl implements MySqlService {
private JdbcTemplate jdbcTemplate;
diff --git a/src/main/java/me/beldon/module/database/service/impl/MySqlTypeService.java b/src/main/java/me/beldon/module/database/service/impl/MySqlTypeService.java
deleted file mode 100644
index 98ab7c5..0000000
--- a/src/main/java/me/beldon/module/database/service/impl/MySqlTypeService.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package me.beldon.module.database.service.impl;
-
-import me.beldon.module.database.bean.Type;
-import me.beldon.module.database.service.IMySqlTypeService;
-import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
-
-import javax.annotation.PostConstruct;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2016/10/18, All Rights Reserved.
- * http://beldon.me
- */
-@Service
-public class MySqlTypeService implements IMySqlTypeService {
- private Map types = new HashMap();
-
- @PostConstruct
- public void init() {
- add(new Type("smallint", "INTEGER", "Integer", "java.lang.Integer"));
- add(new Type("mediumint", "INTEGER", "Integer", "java.lang.Integer"));
- add(new Type("int", "BIGINT", "Long", "java.lang.Long"));
- add(new Type("integer", "INTEGER", "Integer", "java.lang.Integer"));
- add(new Type("bigint", "BIGINT", "Long", "java.lang.Long"));
- add(new Type("varchar", "VARCHAR", "String", "java.lang.String"));
- add(new Type("text", "VARCHAR", "String", "java.lang.String"));
- add(new Type("datetime", "TIMESTAMP", "Date", "java.util.Date"));
- add(new Type("date", "TIMESTAMP", "Date", "java.util.Date"));
- add(new Type("tinyint", "INTEGER", "Integer", "java.lang.Integer"));
- add(new Type("bit", "BIT", "Boolean", "java.lang.Boolean"));
- add(new Type("longtext", "VARCHAR", "String", "java.lang.String"));
- }
-
- private void add(Type type) {
- types.put(type.getMysqlType(), type);
- }
-
- public Type getType(String mysqlType) {
- if (StringUtils.hasText(mysqlType) && types.containsKey(mysqlType)) {
- return types.get(mysqlType);
- }
- return new Type();
- }
-}
diff --git a/src/main/java/me/beldon/module/database/service/impl/MySqlTypeServiceImpl.java b/src/main/java/me/beldon/module/database/service/impl/MySqlTypeServiceImpl.java
new file mode 100644
index 0000000..babfae7
--- /dev/null
+++ b/src/main/java/me/beldon/module/database/service/impl/MySqlTypeServiceImpl.java
@@ -0,0 +1,49 @@
+package me.beldon.module.database.service.impl;
+
+import me.beldon.module.database.bean.DataType;
+import me.beldon.module.database.service.MySqlTypeService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by Beldon.
+ * Copyright (c) 2016/10/18, All Rights Reserved.
+ * http://beldon.me
+ */
+@Service
+public class MySqlTypeServiceImpl implements MySqlTypeService {
+ private Map types = new HashMap();
+
+ @PostConstruct
+ public void init() {
+ add(new DataType("smallint", "INTEGER", "Integer", "java.lang.Integer"));
+ add(new DataType("mediumint", "INTEGER", "Integer", "java.lang.Integer"));
+ add(new DataType("int", "BIGINT", "Long", "java.lang.Long"));
+ add(new DataType("integer", "INTEGER", "Integer", "java.lang.Integer"));
+ add(new DataType("bigint", "BIGINT", "Long", "java.lang.Long"));
+ add(new DataType("varchar", "VARCHAR", "String", "java.lang.String"));
+ add(new DataType("text", "VARCHAR", "String", "java.lang.String"));
+ add(new DataType("datetime", "TIMESTAMP", "Date", "java.util.Date"));
+ add(new DataType("date", "TIMESTAMP", "Date", "java.util.Date"));
+ add(new DataType("tinyint", "INTEGER", "Integer", "java.lang.Integer"));
+ add(new DataType("bit", "BIT", "Boolean", "java.lang.Boolean"));
+ add(new DataType("longtext", "VARCHAR", "String", "java.lang.String"));
+ add(new DataType("decimal", "Double", "Double", "java.lang.Double"));
+ add(new DataType("char", "CHAR", "String", "java.lang.String"));
+ }
+
+ private void add(DataType dataType) {
+ types.put(dataType.getMysqlType(), dataType);
+ }
+
+ public DataType getType(String mysqlType) {
+ if (StringUtils.hasText(mysqlType) && types.containsKey(mysqlType)) {
+ return types.get(mysqlType);
+ }
+ return new DataType();
+ }
+}
diff --git a/src/main/java/me/beldon/module/demo/User.java b/src/main/java/me/beldon/module/demo/User.java
deleted file mode 100644
index fc57600..0000000
--- a/src/main/java/me/beldon/module/demo/User.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package me.beldon.module.demo;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/21, All Rights Reserved.
- * http://beldon.me
- */
-@Entity
-public class User {
-
- @Id
- @GeneratedValue
- private Long id;
-
- @Column(nullable = false)
- private String name;
-
- @Column(nullable = false)
- private Integer age;
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Integer getAge() {
- return age;
- }
-
- public void setAge(Integer age) {
- this.age = age;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/generate/domain/ConnectDb.java b/src/main/java/me/beldon/module/generate/bean/ConnectDb.java
similarity index 85%
rename from src/main/java/me/beldon/module/generate/domain/ConnectDb.java
rename to src/main/java/me/beldon/module/generate/bean/ConnectDb.java
index 6d70d03..11ba0fe 100644
--- a/src/main/java/me/beldon/module/generate/domain/ConnectDb.java
+++ b/src/main/java/me/beldon/module/generate/bean/ConnectDb.java
@@ -1,20 +1,13 @@
-package me.beldon.module.generate.domain;
+package me.beldon.module.generate.bean;
-import org.hibernate.annotations.GenericGenerator;
-
-import javax.persistence.*;
+import java.io.Serializable;
/**
* Created by Beldon.
* Copyright (c) 2017/5/21, All Rights Reserved.
* http://beldon.me
*/
-@Entity
-@Table(name = "connect_db")
-public class ConnectDb {
- @GenericGenerator(name = "uuidGenerator", strategy = "uuid")
- @Id
- @GeneratedValue(generator = "uuidGenerator")
+public class ConnectDb implements Serializable{
private String id;
/**
diff --git a/src/main/java/me/beldon/module/generate/dao/ConnectDbRepository.java b/src/main/java/me/beldon/module/generate/dao/ConnectDbRepository.java
deleted file mode 100644
index 4673850..0000000
--- a/src/main/java/me/beldon/module/generate/dao/ConnectDbRepository.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package me.beldon.module.generate.dao;
-
-import me.beldon.module.generate.domain.ConnectDb;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/21, All Rights Reserved.
- * http://beldon.me
- */
-@Repository
-public interface ConnectDbRepository extends JpaRepository {
-}
diff --git a/src/main/java/me/beldon/module/generate/package-info.java b/src/main/java/me/beldon/module/generate/package-info.java
deleted file mode 100644
index 608c178..0000000
--- a/src/main/java/me/beldon/module/generate/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/21, All Rights Reserved.
- * http://beldon.me
- */
-package me.beldon.module.generate;
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/generate/service/IConnectDbService.java b/src/main/java/me/beldon/module/generate/service/ConnectDbService.java
similarity index 72%
rename from src/main/java/me/beldon/module/generate/service/IConnectDbService.java
rename to src/main/java/me/beldon/module/generate/service/ConnectDbService.java
index 6b60641..267c150 100644
--- a/src/main/java/me/beldon/module/generate/service/IConnectDbService.java
+++ b/src/main/java/me/beldon/module/generate/service/ConnectDbService.java
@@ -1,6 +1,6 @@
package me.beldon.module.generate.service;
-import me.beldon.module.generate.domain.ConnectDb;
+import me.beldon.module.generate.bean.ConnectDb;
import java.util.List;
@@ -9,12 +9,13 @@
* Copyright (c) 2017/5/21, All Rights Reserved.
* http://beldon.me
*/
-public interface IConnectDbService {
+public interface ConnectDbService {
void save(ConnectDb connectDb);
-
List findAll();
void deleteById(String id);
+
+ void clearAll();
}
diff --git a/src/main/java/me/beldon/module/generate/service/IMySqlGenerateService.java b/src/main/java/me/beldon/module/generate/service/GenerateService.java
similarity index 90%
rename from src/main/java/me/beldon/module/generate/service/IMySqlGenerateService.java
rename to src/main/java/me/beldon/module/generate/service/GenerateService.java
index 2b543a3..769cf21 100644
--- a/src/main/java/me/beldon/module/generate/service/IMySqlGenerateService.java
+++ b/src/main/java/me/beldon/module/generate/service/GenerateService.java
@@ -9,7 +9,7 @@
* Copyright (c) 2016/10/14, All Rights Reserved.
* http://beldon.me
*/
-public interface IMySqlGenerateService {
+public interface GenerateService {
/**
* 生成代码
diff --git a/src/main/java/me/beldon/module/generate/service/impl/ConnectDbService.java b/src/main/java/me/beldon/module/generate/service/impl/ConnectDbService.java
deleted file mode 100644
index ceaeb38..0000000
--- a/src/main/java/me/beldon/module/generate/service/impl/ConnectDbService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package me.beldon.module.generate.service.impl;
-
-import me.beldon.module.generate.dao.ConnectDbRepository;
-import me.beldon.module.generate.domain.ConnectDb;
-import me.beldon.module.generate.service.IConnectDbService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/21, All Rights Reserved.
- * http://beldon.me
- */
-@Service
-public class ConnectDbService implements IConnectDbService {
-
- @Autowired
- private ConnectDbRepository connectDbRepository;
-
- @Override
- public void save(ConnectDb connectDb) {
- connectDbRepository.save(connectDb);
- }
-
- @Override
- public List findAll() {
- return connectDbRepository.findAll();
- }
-
- @Override
- public void deleteById(String id) {
- connectDbRepository.delete(id);
- }
-}
diff --git a/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java b/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java
new file mode 100644
index 0000000..1991e2b
--- /dev/null
+++ b/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java
@@ -0,0 +1,54 @@
+package me.beldon.module.generate.service.impl;
+
+import me.beldon.module.generate.bean.ConnectDb;
+import me.beldon.module.generate.service.ConnectDbService;
+import me.beldon.util.ObjectDataUtils;
+import me.beldon.util.SSUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by Beldon.
+ * Copyright (c) 2017/5/21, All Rights Reserved.
+ * http://beldon.me
+ */
+@Service
+public class ConnectDbServiceImpl implements ConnectDbService {
+
+ private final Map cache = new HashMap<>();
+
+ @Override
+ public void save(ConnectDb connectDb) {
+ connectDb.setId(SSUtils.getUUID());
+ cache.put(connectDb.getId(), connectDb);
+ ObjectDataUtils.write(cache);
+ }
+
+ @Override
+ public List findAll() {
+ if (cache.isEmpty()) {
+ Map data = ObjectDataUtils.get();
+ cache.putAll(data);
+ }
+ List connectDbs = new ArrayList<>();
+ cache.forEach((k, v) -> connectDbs.add(v));
+ return connectDbs;
+ }
+
+ @Override
+ public void deleteById(String id) {
+ cache.remove(id);
+ ObjectDataUtils.write(cache);
+ }
+
+ @Override
+ public void clearAll() {
+ cache.clear();
+ ObjectDataUtils.write(cache);
+ }
+
+}
diff --git a/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateService.java b/src/main/java/me/beldon/module/generate/service/impl/GenerateServiceImpl.java
similarity index 88%
rename from src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateService.java
rename to src/main/java/me/beldon/module/generate/service/impl/GenerateServiceImpl.java
index 8793acf..4addf7d 100644
--- a/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateService.java
+++ b/src/main/java/me/beldon/module/generate/service/impl/GenerateServiceImpl.java
@@ -7,18 +7,17 @@
import freemarker.template.TemplateException;
import me.beldon.module.database.bean.ColumnData;
import me.beldon.module.database.bean.GenerateData;
-import me.beldon.module.database.bean.Type;
+import me.beldon.module.database.bean.DataType;
import me.beldon.module.database.entity.mysql.Columns;
-import me.beldon.module.database.service.IMySqlService;
-import me.beldon.module.database.service.IMySqlTypeService;
-import me.beldon.module.generate.service.IMySqlGenerateService;
+import me.beldon.module.database.service.MySqlService;
+import me.beldon.module.database.service.MySqlTypeService;
+import me.beldon.module.generate.service.GenerateService;
import me.beldon.module.template.bean.TemplateDetails;
import me.beldon.module.template.bean.TemplateFtl;
import me.beldon.util.SSUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
-
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
@@ -32,16 +31,15 @@
* Copyright (c) 2016/10/14, All Rights Reserved.
* http://beldon.me
*/
-@SuppressWarnings("Duplicates")
@Service
-public class MySqlGenerateService implements IMySqlGenerateService {
+public class GenerateServiceImpl implements GenerateService {
@Autowired
private freemarker.template.Configuration configuration;
@Autowired
- private IMySqlService mySqlService;
+ private MySqlService mySqlService;
@Autowired
- private IMySqlTypeService mySqlTypeService;
+ private MySqlTypeService mySqlTypeService;
@Override
@@ -77,11 +75,11 @@ public void generate(GenerateData generateData) throws Exception {
ColumnData columnData = new ColumnData();
columnData.setName(SSUtils.underlineToCamel2(column.getColumnName()));
columnData.setColumn(column);
- Type type = mySqlTypeService.getType(column.getDataType());
- columnData.setType(type);
+ DataType dataType = mySqlTypeService.getType(column.getDataType());
+ columnData.setDataType(dataType);
columnDatas.add(columnData);
- if (type != null && StringUtils.hasText(type.getJavaFullType())) {
- String javaFullType = type.getJavaFullType();
+ if (dataType != null && StringUtils.hasText(dataType.getJavaFullType())) {
+ String javaFullType = dataType.getJavaFullType();
if (StringUtils.hasText(javaFullType) && !javaFullType.contains("java.lang")) {
importType.add(javaFullType);
}
diff --git a/src/main/java/me/beldon/module/generate/ui/GenerateController.java b/src/main/java/me/beldon/module/generate/ui/GenerateController.java
index 9ce1237..1a3ca6c 100644
--- a/src/main/java/me/beldon/module/generate/ui/GenerateController.java
+++ b/src/main/java/me/beldon/module/generate/ui/GenerateController.java
@@ -16,17 +16,16 @@
import javafx.util.Callback;
import me.beldon.GenerateApplication;
import me.beldon.module.database.bean.GenerateData;
-import me.beldon.module.database.entity.mysql.Columns;
import me.beldon.module.database.entity.mysql.Tables;
-import me.beldon.module.database.service.IDatabaseService;
-import me.beldon.module.database.service.IMySqlService;
-import me.beldon.module.generate.domain.ConnectDb;
-import me.beldon.module.generate.service.IConnectDbService;
-import me.beldon.module.generate.service.IMySqlGenerateService;
+import me.beldon.module.database.service.DatabaseService;
+import me.beldon.module.database.service.MySqlService;
+import me.beldon.module.generate.bean.ConnectDb;
+import me.beldon.module.generate.service.ConnectDbService;
+import me.beldon.module.generate.service.GenerateService;
import me.beldon.module.template.bean.TemplateDetails;
import me.beldon.module.template.bean.TemplateFtl;
-import me.beldon.module.template.service.ITemplateService;
-import me.beldon.module.window.service.IWindowService;
+import me.beldon.module.template.service.TemplateService;
+import me.beldon.module.window.service.WindowService;
import me.beldon.util.SSUtils;
import org.controlsfx.control.Notifications;
import org.springframework.beans.BeanUtils;
@@ -62,7 +61,7 @@ public class GenerateController implements Initializable {
public CheckBox generatePage;
public CheckBox generatePojo;
public CheckBox generateDao;
- public CheckBox generateService;
+ public CheckBox generateServiceCheckBox;
public ChoiceBox templateChoiceBox;
@FXML
private Label connectionLabel;
@@ -72,21 +71,21 @@ public class GenerateController implements Initializable {
private Tables currentTables; //当前Tables
@Autowired
- private IWindowService windowService;
+ private WindowService windowService;
@Autowired
- private IConnectDbService connectDbService;
+ private ConnectDbService connectDbService;
@Autowired
- private IMySqlService mySqlService;
+ private MySqlService mySqlService;
@Autowired
- private IDatabaseService databaseService;
+ private DatabaseService databaseService;
@Autowired
- private IMySqlGenerateService mySqlGenerateService;
+ private GenerateService generateService;
@Autowired
- private ITemplateService templateService;
+ private TemplateService templateService;
@Override
public void initialize(URL location, ResourceBundle resources) {
@@ -246,7 +245,7 @@ public void generateCode(ActionEvent actionEvent) {
TemplateFtl temp = new TemplateFtl();
BeanUtils.copyProperties(templateFtl,temp);
generateData.setTemplate(temp);
- mySqlGenerateService.generate(generateData);
+ generateService.generate(generateData);
}
Notifications.create().title("生成提示").text("生成成功!").position(Pos.BASELINE_CENTER).showInformation();
diff --git a/src/main/java/me/beldon/module/generate/ui/NewConnectionController.java b/src/main/java/me/beldon/module/generate/ui/NewConnectionController.java
index 41646b2..7c70a45 100644
--- a/src/main/java/me/beldon/module/generate/ui/NewConnectionController.java
+++ b/src/main/java/me/beldon/module/generate/ui/NewConnectionController.java
@@ -7,11 +7,12 @@
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
-import javafx.stage.Stage;
-import me.beldon.module.generate.domain.ConnectDb;
-import me.beldon.module.generate.service.IConnectDbService;
-import me.beldon.module.window.service.IWindowService;
+import me.beldon.module.generate.bean.ConnectDb;
+import me.beldon.module.generate.service.ConnectDbService;
+import me.beldon.module.window.service.WindowService;
import org.controlsfx.control.Notifications;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
@@ -26,7 +27,7 @@
*/
@FXMLController
public class NewConnectionController implements Initializable {
- public static String DRIVER_MYSQL = "com.mysql.jdbc.Driver";
+ private final static Logger logger = LoggerFactory.getLogger(NewConnectionController.class);
public ChoiceBox dbTypeChoice;
public ChoiceBox encodingChoice;
@@ -43,10 +44,10 @@ public class NewConnectionController implements Initializable {
@Autowired
- private IConnectDbService connectDbService;
+ private ConnectDbService connectDbService;
@Autowired
- private IWindowService windowService;
+ private WindowService windowService;
@Override
public void initialize(URL location, ResourceBundle resources) {
@@ -119,11 +120,11 @@ public boolean checkConnect() {
String password = passwordField.getText();
try {
- Class.forName(DRIVER_MYSQL);
String url = "jdbc:mysql://" + host + ":" + portText + "/" + schema + "?serverTimezone=UTC&characterEncoding=" + encodingChoice.getValue();
DriverManager.getConnection(url, username, password);
return true;
} catch (Exception e) {
+ logger.info("Database connect error",e);
Notifications.create().title("测试连接").text("连接失败!").position(Pos.BASELINE_CENTER).showWarning();
}
diff --git a/src/main/java/me/beldon/module/generate/ui/generate.fxml b/src/main/java/me/beldon/module/generate/ui/generate.fxml
index 8a4ce7d..deb0551 100644
--- a/src/main/java/me/beldon/module/generate/ui/generate.fxml
+++ b/src/main/java/me/beldon/module/generate/ui/generate.fxml
@@ -1,27 +1,13 @@
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
@@ -29,19 +15,19 @@
-
+
@@ -50,146 +36,184 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
+
-
-
+
+
-
+
-
+
-
+
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
+
-
+
diff --git a/src/main/java/me/beldon/module/package-info.java b/src/main/java/me/beldon/module/package-info.java
deleted file mode 100644
index 77b904f..0000000
--- a/src/main/java/me/beldon/module/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/15, All Rights Reserved.
- * http://beldon.me
- */
-package me.beldon.module;
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/template/package-info.java b/src/main/java/me/beldon/module/template/package-info.java
deleted file mode 100644
index 46a727b..0000000
--- a/src/main/java/me/beldon/module/template/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/27, All Rights Reserved.
- * http://beldon.me
- */
-package me.beldon.module.template;
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/template/service/ITemplateService.java b/src/main/java/me/beldon/module/template/service/TemplateService.java
similarity index 78%
rename from src/main/java/me/beldon/module/template/service/ITemplateService.java
rename to src/main/java/me/beldon/module/template/service/TemplateService.java
index e7b0be5..3e0c206 100644
--- a/src/main/java/me/beldon/module/template/service/ITemplateService.java
+++ b/src/main/java/me/beldon/module/template/service/TemplateService.java
@@ -9,12 +9,17 @@
* Copyright (c) 2017/5/27, All Rights Reserved.
* http://beldon.me
*/
-public interface ITemplateService {
+public interface TemplateService {
/**
* 模板目录
*/
String TEMPLATE_PATH = "res/templates";
+ /**
+ * 获取所有模板
+ *
+ * @return
+ */
List getAllTemplates();
}
diff --git a/src/main/java/me/beldon/module/template/service/impl/TemplateService.java b/src/main/java/me/beldon/module/template/service/impl/TemplateServiceImpl.java
similarity index 83%
rename from src/main/java/me/beldon/module/template/service/impl/TemplateService.java
rename to src/main/java/me/beldon/module/template/service/impl/TemplateServiceImpl.java
index 2826336..46f1d24 100644
--- a/src/main/java/me/beldon/module/template/service/impl/TemplateService.java
+++ b/src/main/java/me/beldon/module/template/service/impl/TemplateServiceImpl.java
@@ -2,7 +2,7 @@
import com.alibaba.fastjson.JSON;
import me.beldon.module.template.bean.TemplateDetails;
-import me.beldon.module.template.service.ITemplateService;
+import me.beldon.module.template.service.TemplateService;
import org.springframework.stereotype.Service;
import java.io.BufferedReader;
@@ -17,7 +17,7 @@
* http://beldon.me
*/
@Service
-public class TemplateService implements ITemplateService {
+public class TemplateServiceImpl implements TemplateService {
@Override
public List getAllTemplates() {
File file = new File(TEMPLATE_PATH);
@@ -51,10 +51,4 @@ public List getAllTemplates() {
return templateDetails;
}
-
- public static void main(String[] args) {
- TemplateService templateService = new TemplateService();
- List details = templateService.getAllTemplates();
- System.out.println("a");
- }
}
diff --git a/src/main/java/me/beldon/module/template/service/package-info.java b/src/main/java/me/beldon/module/template/service/package-info.java
deleted file mode 100644
index 2e06508..0000000
--- a/src/main/java/me/beldon/module/template/service/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/27, All Rights Reserved.
- * http://beldon.me
- */
-package me.beldon.module.template.service;
\ No newline at end of file
diff --git a/src/main/java/me/beldon/module/window/service/IWindowService.java b/src/main/java/me/beldon/module/window/service/WindowService.java
similarity index 95%
rename from src/main/java/me/beldon/module/window/service/IWindowService.java
rename to src/main/java/me/beldon/module/window/service/WindowService.java
index 502adf7..704edca 100644
--- a/src/main/java/me/beldon/module/window/service/IWindowService.java
+++ b/src/main/java/me/beldon/module/window/service/WindowService.java
@@ -8,7 +8,7 @@
* Copyright (c) 2017/5/15, All Rights Reserved.
* http://beldon.me
*/
-public interface IWindowService {
+public interface WindowService {
/**
* 托盘
*/
diff --git a/src/main/java/me/beldon/module/window/service/impl/WindowService.java b/src/main/java/me/beldon/module/window/service/impl/WindowServiceImpl.java
similarity index 96%
rename from src/main/java/me/beldon/module/window/service/impl/WindowService.java
rename to src/main/java/me/beldon/module/window/service/impl/WindowServiceImpl.java
index b704dea..544f71a 100644
--- a/src/main/java/me/beldon/module/window/service/impl/WindowService.java
+++ b/src/main/java/me/beldon/module/window/service/impl/WindowServiceImpl.java
@@ -9,8 +9,7 @@
import javafx.stage.Stage;
import javafx.util.Duration;
import me.beldon.GenerateApplication;
-import me.beldon.module.generate.ui.NewConnectionView;
-import me.beldon.module.window.service.IWindowService;
+import me.beldon.module.window.service.WindowService;
import me.beldon.util.SpringContextUtil;
import org.controlsfx.control.Notifications;
import org.springframework.stereotype.Service;
@@ -30,7 +29,7 @@
* http://beldon.me
*/
@Service
-public class WindowService implements IWindowService {
+public class WindowServiceImpl implements WindowService {
private TrayIcon trayIcon;
private boolean first = true;
diff --git a/src/main/java/me/beldon/module/window/ui/MainController.java b/src/main/java/me/beldon/module/window/ui/MainController.java
deleted file mode 100644
index 4cc8cd2..0000000
--- a/src/main/java/me/beldon/module/window/ui/MainController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package me.beldon.module.window.ui;
-
-import de.felixroske.jfxsupport.FXMLController;
-import javafx.event.ActionEvent;
-import me.beldon.GenerateApplication;
-import me.beldon.module.generate.ui.GenerateView;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/15, All Rights Reserved.
- * http://beldon.me
- */
-@FXMLController
-public class MainController {
-
- public void showGenerate(ActionEvent actionEvent) {
- GenerateApplication.showView(GenerateView.class);
- }
-
-
-}
diff --git a/src/main/java/me/beldon/module/window/ui/MainView.java b/src/main/java/me/beldon/module/window/ui/MainView.java
deleted file mode 100644
index e65c36c..0000000
--- a/src/main/java/me/beldon/module/window/ui/MainView.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package me.beldon.module.window.ui;
-
-import de.felixroske.jfxsupport.AbstractFxmlView;
-import de.felixroske.jfxsupport.FXMLView;
-
-/**
- * Created by Beldon.
- * Copyright (c) 2017/5/15, All Rights Reserved.
- * http://beldon.me
- */
-@FXMLView
-public class MainView extends AbstractFxmlView {
-}
diff --git a/src/main/java/me/beldon/module/window/ui/main.fxml b/src/main/java/me/beldon/module/window/ui/main.fxml
deleted file mode 100644
index 5753275..0000000
--- a/src/main/java/me/beldon/module/window/ui/main.fxml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/java/me/beldon/util/ObjectDataUtils.java b/src/main/java/me/beldon/util/ObjectDataUtils.java
new file mode 100644
index 0000000..d45916a
--- /dev/null
+++ b/src/main/java/me/beldon/util/ObjectDataUtils.java
@@ -0,0 +1,63 @@
+package me.beldon.util;
+
+import me.beldon.module.generate.bean.ConnectDb;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.*;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * Created by Beldon.
+ * Copyright (c) 2017/7/6, All Rights Reserved.
+ * http://beldon.me
+ */
+public class ObjectDataUtils {
+ private final static Logger logger = LoggerFactory.getLogger(ObjectDataUtils.class);
+ private static String filePath = "res/data.data";
+
+ public static void write(Map connectDbs) {
+ try {
+ File file = new File(filePath);
+ if (file.exists()) {
+ file.delete();
+ }
+ ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
+ logger.info("Write obj file {} ", file.getName());
+ out.writeObject(connectDbs);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static Map get() {
+ File file = new File(filePath);
+ if (file.exists()) {
+ try {
+ ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
+ Map connectDbs = (Map) in.readObject();
+ in.close();
+ return connectDbs;
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.error("Get backup file error", e);
+ }
+ }
+ return new HashMap<>();
+ }
+
+
+ public static void main(String[] args) {
+ Map connectDbMap = new HashMap<>();
+ ConnectDb connectDb = new ConnectDb();
+ connectDb.setId(UUID.randomUUID().toString().replaceAll("-", ""));
+ connectDbMap.put(connectDb.getId(), connectDb);
+ write(connectDbMap);
+ Map connectDbMap2 = get();
+ System.out.println(connectDbMap2);
+ }
+}
diff --git a/src/main/java/me/beldon/util/SSUtils.java b/src/main/java/me/beldon/util/SSUtils.java
index 8c802e9..4cdfcef 100644
--- a/src/main/java/me/beldon/util/SSUtils.java
+++ b/src/main/java/me/beldon/util/SSUtils.java
@@ -1,5 +1,7 @@
package me.beldon.util;
+import java.util.UUID;
+
/**
* Created by Beldon.
* Copyright (c) 2016/10/14, All Rights Reserved.
@@ -70,6 +72,10 @@ public static String underlineToCamel2(String param) {
return sb.toString();
}
+ public static String getUUID() {
+ return UUID.randomUUID().toString().replaceAll("-", "");
+ }
+
public static void main(String[] args) {
System.out.println(camelToUnderline("BeldonHelper"));
System.out.println(underlineToCamel("beldon_helper"));
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 47cfdc6..9e2dafd 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,30 +1,5 @@
-spring:
- jpa:
- database-platform: me.beldon.core.SQLiteDialect
-# hibernate:
-# ddl-auto: create
- datasource:
- url: jdbc:sqlite:res\\generate.db
- username: root
- password: root
- driver-class-name: org.sqlite.JDBC
- type: com.alibaba.druid.pool.DruidDataSource
- filters: stat
- maxActive: 20
- initialSize: 1
- maxWait: 60000
- minIdle: 1
- timeBetweenEvictionRunsMillis: 60000
- minEvictableIdleTimeMillis: 300000
- validationQuery: select 'x'
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxOpenPreparedStatements: 20
-
javafx:
- title: Beldon Tools
+ title: Code Generator
appicons:
- /image/logo.png
stage:
diff --git a/src/test/java/me/beldon/GenerateApplicationTests.java b/src/test/java/me/beldon/GenerateApplicationTests.java
index 3eba1c9..be56ee3 100644
--- a/src/test/java/me/beldon/GenerateApplicationTests.java
+++ b/src/test/java/me/beldon/GenerateApplicationTests.java
@@ -1,6 +1,5 @@
package me.beldon;
-import me.beldon.module.demo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
@@ -9,21 +8,9 @@
@RunWith(SpringRunner.class)
@SpringBootTest
public class GenerateApplicationTests {
+ @Test
+ public void contextLoads() {
- @Test
- public void contextLoads() {
-
- User user = new User() {
- public void setAge(Integer age) {
- super.setAge(age);
- }
- };
- Runnable runnable = new Runnable() {
- @Override
- public void run() {
-
- }
- };
- }
+ }
}
diff --git a/src/test/java/me/beldon/module/generate/service/ConnectDbServiceTest.java b/src/test/java/me/beldon/module/generate/service/ConnectDbServiceTest.java
new file mode 100644
index 0000000..de214d6
--- /dev/null
+++ b/src/test/java/me/beldon/module/generate/service/ConnectDbServiceTest.java
@@ -0,0 +1,63 @@
+package me.beldon.module.generate.service;
+
+import me.beldon.module.generate.bean.ConnectDb;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by Beldon.
+ * Copyright (c) 2017/8/24, All Rights Reserved.
+ * https://www.fuyhui.com/
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class ConnectDbServiceTest {
+
+ @Autowired
+ private ConnectDbService connectDbService;
+
+ @Test
+ public void save() throws Exception {
+ String host = "localhost";
+ String user = "root";
+ String pass = "pass";
+ ConnectDb connectDb = new ConnectDb();
+ connectDb.setHost(host);
+ connectDb.setUser(user);
+ connectDb.setPass(pass);
+ connectDbService.save(connectDb);
+ }
+
+ @Test
+ public void findAll() throws Exception {
+ clearAll();
+ for (int i = 0; i < 10; i++) {
+ ConnectDb connectDb = new ConnectDb();
+ connectDb.setHost("localhost" + i);
+ connectDb.setUser("root" + i);
+ connectDb.setPass("pass" + i);
+ connectDbService.save(connectDb);
+ }
+ List connectDbs = connectDbService.findAll();
+ assertEquals(10, connectDbs.size());
+ }
+
+ @Test
+ public void deleteById() throws Exception {
+ }
+
+ @Test
+ public void clearAll() throws Exception {
+ connectDbService.clearAll();
+ List connectDbList = connectDbService.findAll();
+ assertEquals(0, connectDbList.size());
+ }
+
+}
\ No newline at end of file