From 8a60d70cba6b9732ea8d27697be5491845df0fc8 Mon Sep 17 00:00:00 2001 From: beldon <1047325205@qq.com> Date: Thu, 24 Aug 2017 17:04:24 +0800 Subject: [PATCH 1/5] refactor --- pom.xml | 36 ++-- res/generate.db | Bin 16384 -> 0 bytes res/templates/demo2/dao.ftl | 8 +- res/templates/demo2/domain.ftl | 6 +- res/templates/demo2/mapper.ftl | 16 +- res/templates/don/dao.ftl | 4 +- res/templates/don/domain.ftl | 2 +- res/templates/don/iservice.ftl | 4 +- res/templates/don/mapper.ftl | 16 +- res/templates/don/service.ftl | 4 +- res/templates/donJava/dao.ftl | 4 +- res/templates/donJava/domain.ftl | 6 +- res/templates/donJava/iservice.ftl | 4 +- res/templates/donJava/mapper.ftl | 16 +- res/templates/donJava/service.ftl | 4 +- .../java/me/beldon/GenerateApplication.java | 11 +- .../java/me/beldon/core/SQLiteDialect.java | 160 ------------------ .../beldon/core/util/SpringContextUtils.java | 24 --- .../module/database/bean/ColumnData.java | 10 +- .../bean/{Type.java => DataType.java} | 6 +- .../module/database/bean/GenerateData.java | 6 +- .../module/database/entity/package-info.java | 6 - .../beldon/module/database/package-info.java | 6 - ...abaseService.java => DatabaseService.java} | 2 +- .../{IMySqlService.java => MySqlService.java} | 2 +- ...TypeService.java => MySqlTypeService.java} | 6 +- ...eService.java => DatabaseServiceImpl.java} | 8 +- ...ySqlService.java => MySqlServiceImpl.java} | 5 +- .../service/impl/MySqlTypeService.java | 47 ----- .../service/impl/MySqlTypeServiceImpl.java | 49 ++++++ src/main/java/me/beldon/module/demo/User.java | 49 ------ .../generate/dao/ConnectDbRepository.java | 14 -- .../module/generate/domain/ConnectDb.java | 11 +- .../beldon/module/generate/package-info.java | 6 - ...ctDbService.java => ConnectDbService.java} | 5 +- ...Service.java => MySqlGenerateService.java} | 2 +- .../service/impl/ConnectDbService.java | 36 ---- .../service/impl/ConnectDbServiceImpl.java | 53 ++++++ ...ice.java => MySqlGenerateServiceImpl.java} | 22 +-- .../generate/ui/GenerateController.java | 25 ++- .../generate/ui/NewConnectionController.java | 14 +- .../java/me/beldon/module/package-info.java | 6 - .../beldon/module/template/package-info.java | 6 - ...plateService.java => TemplateService.java} | 7 +- ...eService.java => TemplateServiceImpl.java} | 8 +- .../module/template/service/package-info.java | 6 - ...IWindowService.java => WindowService.java} | 2 +- ...dowService.java => WindowServiceImpl.java} | 5 +- .../java/me/beldon/util/ObjectDataUtils.java | 63 +++++++ src/main/java/me/beldon/util/SSUtils.java | 6 + src/main/resources/application.yml | 25 --- .../me/beldon/GenerateApplicationTests.java | 17 -- .../service/ConnectDbServiceTest.java | 63 +++++++ 53 files changed, 369 insertions(+), 560 deletions(-) delete mode 100644 res/generate.db delete mode 100644 src/main/java/me/beldon/core/SQLiteDialect.java delete mode 100644 src/main/java/me/beldon/core/util/SpringContextUtils.java rename src/main/java/me/beldon/module/database/bean/{Type.java => DataType.java} (88%) delete mode 100644 src/main/java/me/beldon/module/database/entity/package-info.java delete mode 100644 src/main/java/me/beldon/module/database/package-info.java rename src/main/java/me/beldon/module/database/service/{IDatabaseService.java => DatabaseService.java} (90%) rename src/main/java/me/beldon/module/database/service/{IMySqlService.java => MySqlService.java} (97%) rename src/main/java/me/beldon/module/database/service/{IMySqlTypeService.java => MySqlTypeService.java} (54%) rename src/main/java/me/beldon/module/database/service/impl/{DatabaseService.java => DatabaseServiceImpl.java} (84%) rename src/main/java/me/beldon/module/database/service/impl/{MySqlService.java => MySqlServiceImpl.java} (91%) delete mode 100644 src/main/java/me/beldon/module/database/service/impl/MySqlTypeService.java create mode 100644 src/main/java/me/beldon/module/database/service/impl/MySqlTypeServiceImpl.java delete mode 100644 src/main/java/me/beldon/module/demo/User.java delete mode 100644 src/main/java/me/beldon/module/generate/dao/ConnectDbRepository.java delete mode 100644 src/main/java/me/beldon/module/generate/package-info.java rename src/main/java/me/beldon/module/generate/service/{IConnectDbService.java => ConnectDbService.java} (85%) rename src/main/java/me/beldon/module/generate/service/{IMySqlGenerateService.java => MySqlGenerateService.java} (90%) delete mode 100644 src/main/java/me/beldon/module/generate/service/impl/ConnectDbService.java create mode 100644 src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java rename src/main/java/me/beldon/module/generate/service/impl/{MySqlGenerateService.java => MySqlGenerateServiceImpl.java} (88%) delete mode 100644 src/main/java/me/beldon/module/package-info.java delete mode 100644 src/main/java/me/beldon/module/template/package-info.java rename src/main/java/me/beldon/module/template/service/{ITemplateService.java => TemplateService.java} (78%) rename src/main/java/me/beldon/module/template/service/impl/{TemplateService.java => TemplateServiceImpl.java} (86%) delete mode 100644 src/main/java/me/beldon/module/template/service/package-info.java rename src/main/java/me/beldon/module/window/service/{IWindowService.java => WindowService.java} (95%) rename src/main/java/me/beldon/module/window/service/impl/{WindowService.java => WindowServiceImpl.java} (96%) create mode 100644 src/main/java/me/beldon/util/ObjectDataUtils.java create mode 100644 src/test/java/me/beldon/module/generate/service/ConnectDbServiceTest.java diff --git a/pom.xml b/pom.xml index 50d2375..1be340c 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,32 +33,14 @@ - 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 @@ -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 581bbb990a801f92db1b63fa6533958239dc050b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI&&u-H&90zcxDGVlc*$z=p6Ry~SNfm0F{s}ha!3?~ zJf)NnaxH3J)TDeCjci{@Ui{^GO&;HA7qs6*J(!V$U)m4xK!E@RAOHafKmY;|fB*y_ z0D)Z*2-Ur!t}9nBBQ|jPEaZW#`RA`Y?TZe*Xg}+As2rh>#x|v6FXBTUlqnnXq(ePF zqTbAP%hY2NPCu}~8nGZVJPpPZ7A)u`U&t`0r&n*3y<(}Pe459rTE6FTE9%>Ww3S=g zK{_7qV{-}aS-w5?hRNz>I`YFP?PYgXrc)M%>AR^PWM+oeh)-DhHd;)VXDZ)N+%7NT ztRKwC-7UT-DP-)~{A2ju75RLh%_2YU_tR7Kt7%&mpV~e7xfQgpMAdRcd#B~JZ@cmV z;+znG00bZa0SG_<0uX=z1R$_`0&ms*p8nui*N=;Oy;3uuI1X!A^+v7I;+1OLsx=+6 zRuN?uIi~Ad%$140$fiSa=fDHsj|`*IO!~dW`B_&EzRJnSx+trWt5(aoiCndOLj(`m7$xe;|fNMg+Q}+DYq^iVQ@R|+|?-IL66 zb*pZh@eM)UYP4+87NsE1bQm8@{wF|I6bL{70uX=z1Rwwb2tWV=5P$##{v&~hYVZC^ R{%=_I+x*{fm{FDa{~u#W3(Eii 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 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 > - + @@ -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 } \ 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 > - + @@ -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 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 > - + @@ -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..040f347 100644 --- a/src/main/java/me/beldon/GenerateApplication.java +++ b/src/main/java/me/beldon/GenerateApplication.java @@ -2,16 +2,11 @@ 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.*; @@ -30,8 +25,8 @@ 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(); }); } } 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 90% 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..b8c18c4 100644 --- a/src/main/java/me/beldon/module/database/service/IDatabaseService.java +++ b/src/main/java/me/beldon/module/database/service/DatabaseService.java @@ -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 84% 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..42c3a1a 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,7 +1,7 @@ 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.database.service.DatabaseService; +import me.beldon.module.database.service.MySqlService; import me.beldon.module.generate.domain.ConnectDb; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; @@ -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/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/domain/ConnectDb.java b/src/main/java/me/beldon/module/generate/domain/ConnectDb.java index 6d70d03..848dabd 100644 --- a/src/main/java/me/beldon/module/generate/domain/ConnectDb.java +++ b/src/main/java/me/beldon/module/generate/domain/ConnectDb.java @@ -1,20 +1,13 @@ package me.beldon.module.generate.domain; -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/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 85% 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..36af5a0 100644 --- a/src/main/java/me/beldon/module/generate/service/IConnectDbService.java +++ b/src/main/java/me/beldon/module/generate/service/ConnectDbService.java @@ -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/MySqlGenerateService.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/MySqlGenerateService.java index 2b543a3..510c81d 100644 --- a/src/main/java/me/beldon/module/generate/service/IMySqlGenerateService.java +++ b/src/main/java/me/beldon/module/generate/service/MySqlGenerateService.java @@ -9,7 +9,7 @@ * Copyright (c) 2016/10/14, All Rights Reserved. * http://beldon.me */ -public interface IMySqlGenerateService { +public interface MySqlGenerateService { /** * 生成代码 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..5db8630 --- /dev/null +++ b/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java @@ -0,0 +1,53 @@ +package me.beldon.module.generate.service.impl; + +import me.beldon.module.generate.domain.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() { + ObjectDataUtils.write(new HashMap<>()); + } + +} diff --git a/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateService.java b/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateServiceImpl.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/MySqlGenerateServiceImpl.java index 8793acf..212622f 100644 --- a/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateService.java +++ b/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateServiceImpl.java @@ -7,11 +7,11 @@ 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.MySqlGenerateService; import me.beldon.module.template.bean.TemplateDetails; import me.beldon.module.template.bean.TemplateFtl; import me.beldon.util.SSUtils; @@ -34,14 +34,14 @@ */ @SuppressWarnings("Duplicates") @Service -public class MySqlGenerateService implements IMySqlGenerateService { +public class MySqlGenerateServiceImpl implements MySqlGenerateService { @Autowired private freemarker.template.Configuration configuration; @Autowired - private IMySqlService mySqlService; + private MySqlService mySqlService; @Autowired - private IMySqlTypeService mySqlTypeService; + private MySqlTypeService mySqlTypeService; @Override @@ -77,11 +77,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..0d4bbf5 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.database.service.DatabaseService; +import me.beldon.module.database.service.MySqlService; 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.generate.service.ConnectDbService; +import me.beldon.module.generate.service.MySqlGenerateService; 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; @@ -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 MySqlGenerateService mySqlGenerateService; @Autowired - private ITemplateService templateService; + private TemplateService templateService; @Override public void initialize(URL location, ResourceBundle resources) { 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..aab2cd7 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.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,6 +27,8 @@ */ @FXMLController public class NewConnectionController implements Initializable { + private final static Logger logger = LoggerFactory.getLogger(NewConnectionController.class); +// com.mysql.jdbc.Driver public static String DRIVER_MYSQL = "com.mysql.jdbc.Driver"; public ChoiceBox dbTypeChoice; @@ -43,10 +46,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) { @@ -124,6 +127,7 @@ public boolean checkConnect() { 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/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 86% 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..5677577 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); @@ -53,8 +53,8 @@ public List getAllTemplates() { } public static void main(String[] args) { - TemplateService templateService = new TemplateService(); - List details = templateService.getAllTemplates(); + TemplateServiceImpl templateServiceImpl = new TemplateServiceImpl(); + List details = templateServiceImpl.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/util/ObjectDataUtils.java b/src/main/java/me/beldon/util/ObjectDataUtils.java new file mode 100644 index 0000000..fb3fb1b --- /dev/null +++ b/src/main/java/me/beldon/util/ObjectDataUtils.java @@ -0,0 +1,63 @@ +package me.beldon.util; + +import me.beldon.module.generate.domain.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..fc72509 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,28 +1,3 @@ -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 appicons: diff --git a/src/test/java/me/beldon/GenerateApplicationTests.java b/src/test/java/me/beldon/GenerateApplicationTests.java index 3eba1c9..9bd4c9f 100644 --- a/src/test/java/me/beldon/GenerateApplicationTests.java +++ b/src/test/java/me/beldon/GenerateApplicationTests.java @@ -1,7 +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; import org.springframework.test.context.junit4.SpringRunner; @@ -10,20 +8,5 @@ @SpringBootTest public class GenerateApplicationTests { - @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..a03953f --- /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.domain.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 From 416e21f9a25ed14880fc4acd4d4519eee31b7f50 Mon Sep 17 00:00:00 2001 From: beldon <1047325205@qq.com> Date: Thu, 24 Aug 2017 18:23:55 +0800 Subject: [PATCH 2/5] update dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1be340c..9ff7ea3 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ de.roskenet springboot-javafx-support - 1.3.22 + 1.3.30 From aaa68773d9ab31b1046fe6e43dab1bbc6d7b5ec1 Mon Sep 17 00:00:00 2001 From: beldon <1047325205@qq.com> Date: Thu, 24 Aug 2017 18:31:25 +0800 Subject: [PATCH 3/5] fix bug --- .../module/generate/service/impl/ConnectDbServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index 5db8630..bf1463f 100644 --- a/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java +++ b/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java @@ -47,7 +47,8 @@ public void deleteById(String id) { @Override public void clearAll() { - ObjectDataUtils.write(new HashMap<>()); + cache.clear(); + ObjectDataUtils.write(cache); } } From ab2fc454729a21ae7793b14677d7a2a5c642301f Mon Sep 17 00:00:00 2001 From: beldon <1047325205@qq.com> Date: Thu, 24 Aug 2017 18:34:27 +0800 Subject: [PATCH 4/5] fix bug --- src/test/java/me/beldon/GenerateApplicationTests.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/java/me/beldon/GenerateApplicationTests.java b/src/test/java/me/beldon/GenerateApplicationTests.java index 9bd4c9f..be56ee3 100644 --- a/src/test/java/me/beldon/GenerateApplicationTests.java +++ b/src/test/java/me/beldon/GenerateApplicationTests.java @@ -1,5 +1,6 @@ package me.beldon; +import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @@ -7,6 +8,9 @@ @RunWith(SpringRunner.class) @SpringBootTest public class GenerateApplicationTests { + @Test + public void contextLoads() { + } } From c8fb9aa8e5614030c6d9823700cd756460160daa Mon Sep 17 00:00:00 2001 From: beldon <1047325205@qq.com> Date: Thu, 24 Aug 2017 22:58:17 +0800 Subject: [PATCH 5/5] refactor --- .../java/me/beldon/GenerateApplication.java | 13 +- .../database/service/DatabaseService.java | 2 +- .../service/impl/DatabaseServiceImpl.java | 2 +- .../generate/{domain => bean}/ConnectDb.java | 2 +- .../generate/service/ConnectDbService.java | 2 +- ...erateService.java => GenerateService.java} | 2 +- .../service/impl/ConnectDbServiceImpl.java | 2 +- ...viceImpl.java => GenerateServiceImpl.java} | 6 +- .../generate/ui/GenerateController.java | 10 +- .../generate/ui/NewConnectionController.java | 5 +- .../beldon/module/generate/ui/generate.fxml | 226 ++++++++++-------- .../service/impl/TemplateServiceImpl.java | 6 - .../module/window/ui/MainController.java | 21 -- .../me/beldon/module/window/ui/MainView.java | 13 - .../java/me/beldon/module/window/ui/main.fxml | 11 - .../java/me/beldon/util/ObjectDataUtils.java | 2 +- src/main/resources/application.yml | 2 +- .../service/ConnectDbServiceTest.java | 2 +- 18 files changed, 153 insertions(+), 176 deletions(-) rename src/main/java/me/beldon/module/generate/{domain => bean}/ConnectDb.java (97%) rename src/main/java/me/beldon/module/generate/service/{MySqlGenerateService.java => GenerateService.java} (90%) rename src/main/java/me/beldon/module/generate/service/impl/{MySqlGenerateServiceImpl.java => GenerateServiceImpl.java} (97%) delete mode 100644 src/main/java/me/beldon/module/window/ui/MainController.java delete mode 100644 src/main/java/me/beldon/module/window/ui/MainView.java delete mode 100644 src/main/java/me/beldon/module/window/ui/main.fxml diff --git a/src/main/java/me/beldon/GenerateApplication.java b/src/main/java/me/beldon/GenerateApplication.java index 040f347..1b69035 100644 --- a/src/main/java/me/beldon/GenerateApplication.java +++ b/src/main/java/me/beldon/GenerateApplication.java @@ -12,9 +12,8 @@ @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); } @@ -29,4 +28,14 @@ public void start(Stage stage) throws Exception { windowServiceImpl.enableTray(); }); } + + + + static { + try { + Class.forName(DRIVER_MYSQL); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/me/beldon/module/database/service/DatabaseService.java b/src/main/java/me/beldon/module/database/service/DatabaseService.java index b8c18c4..7de4bac 100644 --- a/src/main/java/me/beldon/module/database/service/DatabaseService.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; /** diff --git a/src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java b/src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java index 42c3a1a..79d5dc1 100644 --- a/src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java +++ b/src/main/java/me/beldon/module/database/service/impl/DatabaseServiceImpl.java @@ -2,7 +2,7 @@ import me.beldon.module.database.service.DatabaseService; import me.beldon.module.database.service.MySqlService; -import me.beldon.module.generate.domain.ConnectDb; +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; 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 97% 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 848dabd..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,4 +1,4 @@ -package me.beldon.module.generate.domain; +package me.beldon.module.generate.bean; import java.io.Serializable; diff --git a/src/main/java/me/beldon/module/generate/service/ConnectDbService.java b/src/main/java/me/beldon/module/generate/service/ConnectDbService.java index 36af5a0..267c150 100644 --- a/src/main/java/me/beldon/module/generate/service/ConnectDbService.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; diff --git a/src/main/java/me/beldon/module/generate/service/MySqlGenerateService.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/MySqlGenerateService.java rename to src/main/java/me/beldon/module/generate/service/GenerateService.java index 510c81d..769cf21 100644 --- a/src/main/java/me/beldon/module/generate/service/MySqlGenerateService.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 MySqlGenerateService { +public interface GenerateService { /** * 生成代码 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 index bf1463f..1991e2b 100644 --- a/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java +++ b/src/main/java/me/beldon/module/generate/service/impl/ConnectDbServiceImpl.java @@ -1,6 +1,6 @@ package me.beldon.module.generate.service.impl; -import me.beldon.module.generate.domain.ConnectDb; +import me.beldon.module.generate.bean.ConnectDb; import me.beldon.module.generate.service.ConnectDbService; import me.beldon.util.ObjectDataUtils; import me.beldon.util.SSUtils; diff --git a/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateServiceImpl.java b/src/main/java/me/beldon/module/generate/service/impl/GenerateServiceImpl.java similarity index 97% rename from src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateServiceImpl.java rename to src/main/java/me/beldon/module/generate/service/impl/GenerateServiceImpl.java index 212622f..4addf7d 100644 --- a/src/main/java/me/beldon/module/generate/service/impl/MySqlGenerateServiceImpl.java +++ b/src/main/java/me/beldon/module/generate/service/impl/GenerateServiceImpl.java @@ -11,14 +11,13 @@ import me.beldon.module.database.entity.mysql.Columns; import me.beldon.module.database.service.MySqlService; import me.beldon.module.database.service.MySqlTypeService; -import me.beldon.module.generate.service.MySqlGenerateService; +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,9 +31,8 @@ * Copyright (c) 2016/10/14, All Rights Reserved. * http://beldon.me */ -@SuppressWarnings("Duplicates") @Service -public class MySqlGenerateServiceImpl implements MySqlGenerateService { +public class GenerateServiceImpl implements GenerateService { @Autowired private freemarker.template.Configuration configuration; 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 0d4bbf5..1a3ca6c 100644 --- a/src/main/java/me/beldon/module/generate/ui/GenerateController.java +++ b/src/main/java/me/beldon/module/generate/ui/GenerateController.java @@ -19,9 +19,9 @@ import me.beldon.module.database.entity.mysql.Tables; import me.beldon.module.database.service.DatabaseService; import me.beldon.module.database.service.MySqlService; -import me.beldon.module.generate.domain.ConnectDb; +import me.beldon.module.generate.bean.ConnectDb; import me.beldon.module.generate.service.ConnectDbService; -import me.beldon.module.generate.service.MySqlGenerateService; +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.TemplateService; @@ -61,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; @@ -82,7 +82,7 @@ public class GenerateController implements Initializable { private DatabaseService databaseService; @Autowired - private MySqlGenerateService mySqlGenerateService; + private GenerateService generateService; @Autowired private TemplateService templateService; @@ -245,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 aab2cd7..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,7 +7,7 @@ import javafx.scene.control.ChoiceBox; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; -import me.beldon.module.generate.domain.ConnectDb; +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; @@ -28,8 +28,6 @@ @FXMLController public class NewConnectionController implements Initializable { private final static Logger logger = LoggerFactory.getLogger(NewConnectionController.class); -// com.mysql.jdbc.Driver - public static String DRIVER_MYSQL = "com.mysql.jdbc.Driver"; public ChoiceBox dbTypeChoice; public ChoiceBox encodingChoice; @@ -122,7 +120,6 @@ 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; 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/template/service/impl/TemplateServiceImpl.java b/src/main/java/me/beldon/module/template/service/impl/TemplateServiceImpl.java index 5677577..46f1d24 100644 --- a/src/main/java/me/beldon/module/template/service/impl/TemplateServiceImpl.java +++ b/src/main/java/me/beldon/module/template/service/impl/TemplateServiceImpl.java @@ -51,10 +51,4 @@ public List getAllTemplates() { return templateDetails; } - - public static void main(String[] args) { - TemplateServiceImpl templateServiceImpl = new TemplateServiceImpl(); - List details = templateServiceImpl.getAllTemplates(); - System.out.println("a"); - } } 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 @@ - - - - - - - -