From 1a963a78d597da87836d7d2c5238a5bb4e39f4b3 Mon Sep 17 00:00:00 2001 From: tanghc Date: Thu, 24 Feb 2022 15:06:53 +0800 Subject: [PATCH 01/20] 1.5.6 --- gen/src/main/resources/gen.db | Bin 69632 -> 69632 bytes script/startup.bat | 5 ++ templates/fastmybatis-v2.0/columns.vm | 19 ++++++ templates/fastmybatis-v2.0/controller.vm | 78 +++++++++++++++++++++++ templates/fastmybatis-v2.0/entity.vm | 45 +++++++++++++ templates/fastmybatis-v2.0/mapper.vm | 12 ++++ templates/fastmybatis-v2.0/service.vm | 16 +++++ 7 files changed, 175 insertions(+) create mode 100644 script/startup.bat create mode 100644 templates/fastmybatis-v2.0/columns.vm create mode 100644 templates/fastmybatis-v2.0/controller.vm create mode 100644 templates/fastmybatis-v2.0/entity.vm create mode 100644 templates/fastmybatis-v2.0/mapper.vm create mode 100644 templates/fastmybatis-v2.0/service.vm diff --git a/gen/src/main/resources/gen.db b/gen/src/main/resources/gen.db index ca3318427aeb2d7088c6259a0fca21808d002214..ce2ce8681d96638240768ca5f96c72b23e1bf6ac 100644 GIT binary patch delta 3946 zcma)9Z%iBK8NV~e_8r)Ug@h5x^72QE56qclOK3{~lY~`dfjWg~+NzBl_G{;g?Q_m& z0z-_@q@}G&3wfcetrQV;(jrZZnpsh|B~z1cllCQ>)=m46tyOE1Y9G>QQC4Z$vgf@! z{{ttgrL+CM&+|V2pWpl3sWt1VHS1!1bsNJl)$mlnV}obwlJ{G+ZH)N!-#aVqOgUF( zas8ph!#8lAZOUgcKZ?B6u_|#W0$X)ZlSR_3Y~C z5WFaaqoWBGhvmr}VYg0*s7fj^Du<99*SshhJdR^hDFISSJFckt!+Z7!!dw?;uN4IL z#a)^-wl9h`97{wc4Ug(Vi&u^V&-M3>^rMl!{fGNeF%5ah4cD#~9wEb;V*7VLDWIWe zN6^sG!-u_Ov0^KiTat9eh}Aj6yhbW2fAT#WN8`pYa}kHVw!NJ_&4O7`9Kms{Qmc;3 zNlj6wHm+?&mTjaOw(($FP>F}-$SCP`ZVSLN7TPm9Aw^U9Nbmi&fDZP5r|;-t(^%?I zR=FlaPC{UY{wM1XFHnQoAu{Lu(!#z0@?{s<1pkz~2DnxoF z!%8%S^BDqb(huF1Dq2%z?z>bE=l+lTuKWJd+_m(d&`$T(Y7RE-Wlo*rI^+JQ`y==D zw5ucSuK8M7nZOoj$wEHrZDlKe<+mY+i?P4!s$yN|=UDdwU&b+8j=bIJ;Oaw?Le8%= zqz^Uzz_ulX!%`}$y{@txQ`i5t6X@x4@>q_r)@|XK`e(1zQo_ZZAG1|ph?81lao=Rz z|8n0t6$jIj>_g{6qciyR#!K<-c?I{_xU>U1!+R^A|rU+kYi0%qEW2! zfb{U(U~TJC%u2ICGiy}1op?a%quT{e*W_6n>_o(5#3_w2Kaz36>BLqZZ3WL zum2gGm+ebH2tgcWPo&18au9(zP)Yl;vE4`0H{8<$h!?>gx~oS5mJkmCO&hY|xE@-h zhYfWbWKmP}U60U}V=IzdX^5pcL{KN4+sWd6yHC_r>5>W#8m^e;iORT#a?z8d`o9h2 z8(lW?uyfnlUfYjSNhm4m(4ztnPzs{!OG*=^BhWIP7}ra7WGaF8E0Z%l2zbef-tBg( z0(>V|+INs+|En0IG6o`XsL7#JH0sgGd6#`Ybo;~Q%)95-Ke&>4Z7s9-#;teGeD>=r zpD$m`oVuEe%q9n^7%_sifsjW4C!0+NyXZc;ef~mbVP$>g{q=>5kM}lJkZyA9K@D$a zxVHz9yAK+;8C2}f6RjKU-(;AXl^Gt98(-Ft+uv+j{RPi*J~{MQON_qB)wPfKAJ%yC z#=yM^ZROb%b|i-iVjVWv_D?}nfRK;!W2}Ty;Aboa@S&qx9&AqUsof->0MS`1?byAEM~Xm`?I#cC-YS2Vaxl(-leFA2VR>@DIQ*61)1DGk_#XF78VM(7xlkA75%jVa^eK}nNf zGaFFaJBtf%iXD1aqP3G_VH7vk?#nhG29W>>nBt z1l~{G$=v`}NH0%z9cq}>n-6LRnI26Wl0kuCeiLd0%bJ9ijRY_C3mI6F`7O!(a&`UU zW!?Xrgq(@=%A)cMgqXB2ou}nl+3nhw)OHu4{ch#FxP*&mU;h7=B4zl z^p$;MY7gzk&wlset>p{rZ~Z27^-U;Ty0s79!F1ZRKMLccDn;pTc1oFrIS^_rj!zm} z9znz>JR?WJ9n&&V4tddDdcm|JeIIF*3WrSGhMRf+)Nld^<*{srFD2CZ*&K1bWWpe2olr@hJn xguobCNX+-L4pc$C`3hmE$+%UG7Atje>Zv-5>>M5Y2OSo!{sS2MtGH}i{2y&d8R!52 delta 686 zcmbV}OK1~87{_P!G5gBy>{?5W6`c0qdu6lTG>sx=jhlm5Ew%_AJk-a@7idZklG;T) zd1*6|fTv&tk6Op#)r)s4~7c@4anBAWY?@^r{>g{=bkd|-LE2JAeB=YKDbt$zI6R+TrLJD z!$ROkxpLW$lCi*#3%SIPN0M^BSjmNjT*VKgAd37T2#RC*Fpk2gG8*NhEu^0B<)ZSr zB%VshRD9xeLWZ|cs#j^4?6Yaf+R5e&4boTEq~grNDz!3m+rx0QP}$Up?#LWfdO7sF zU2~9z_`?ZHXBCa6_Adz_de@ntZ|x)Wp|Q^XV9E9HPaxs0ka>6mcX4+yeZ$_9y|`ah zxl@yEzDu|R@K@Y9GtHcUVcIJ8!7H?L`~cKmmJrbiFdEuZNS4xVkddJkhpyki^$BGc zRJ(vLlh+Vv9Pyn3nUT_p%DSJi`Q(LbiZ)PP1L_(x7e1);W79Aj9@4h1b~xL##w=SHU0v*8lk`d diff --git a/script/startup.bat b/script/startup.bat new file mode 100644 index 0000000..11a8499 --- /dev/null +++ b/script/startup.bat @@ -0,0 +1,5 @@ +@echo off + +set app_name=gen + +java -Duser.timezone=Asia/Shanghai -jar -Xms128m -Xmx128m %app_name%.jar \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/columns.vm b/templates/fastmybatis-v2.0/columns.vm new file mode 100644 index 0000000..fc8832d --- /dev/null +++ b/templates/fastmybatis-v2.0/columns.vm @@ -0,0 +1,19 @@ +## filename=${context.javaBeanName}Columns, folder=columns +/** + * ${table.tableName}表字段映射关系
+ * 使用方式: + *
+ * {@literal
+ * Query query = new Query().eq(TUserColumns.id, 6);
+ * TUser tUser = mapper.getBySpecifiedColumns(Arrays.asList(TUserColumns.id, TUserColumns.username), query);
+ * }
+ * 
+ * @author xxx + */ +public interface ${context.javaBeanName}Columns { +#foreach($column in $columns) + /** ${column.comment} */ + String ${column.columnName} = "${column.columnName}"; + +#end +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/controller.vm b/templates/fastmybatis-v2.0/controller.vm new file mode 100644 index 0000000..59dcd1a --- /dev/null +++ b/templates/fastmybatis-v2.0/controller.vm @@ -0,0 +1,78 @@ +## filename=${context.javaBeanName}Controller.java, folder=controller +package ${context.packageName}.web.controller; + +import com.gitee.fastmybatis.core.PageInfo; +import com.gitee.fastmybatis.core.query.Query; +import com.gitee.fastmybatis.core.query.param.PageParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import ${context.packageName}.dao.entity.${context.javaBeanName}; +import ${context.packageName}.service.${context.javaBeanName}Service; + +/** + * @author xxx + */ +@RestController +@RequestMapping("${table.tableName}") +public class ${context.javaBeanName}Controller { + + @Autowired + private ${context.javaBeanName}Service ${context.javaBeanNameLF}Service; + + /** + * 分页查询 + * + * @param param + * @return + */ + @GetMapping("/page") + public Result> page(PageParam param) { + Query query = param.toQuery(); + PageInfo<${context.javaBeanName}> pageInfo = ${context.javaBeanNameLF}Service.page(query); + return Result.ok(pageInfo); + } + + /** + * 新增记录 + * + * @param user + * @return + */ + @PostMapping("/save") + public Result<${pk.javaTypeBox}> save(${context.javaBeanName} user) { + ${context.javaBeanNameLF}Service.saveIgnoreNull(user); + // 返回添加后的主键值 + return Result.ok(user.getId()); + } + + /** + * 修改记录 + * + * @param user 表单数据 + * @return + */ + @PutMapping("/update") + public Result update(${context.javaBeanName} user) { + ${context.javaBeanNameLF}Service.updateIgnoreNull(user); + return Result.ok(); + } + + /** + * 删除记录 + * + * @param id 主键id + * @return + */ + @DeleteMapping("/delete") + public Result delete(${pk.javaTypeBox} id) { + ${context.javaBeanNameLF}Service.deleteById(id); + return Result.ok(); + } + +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/entity.vm b/templates/fastmybatis-v2.0/entity.vm new file mode 100644 index 0000000..2be70a3 --- /dev/null +++ b/templates/fastmybatis-v2.0/entity.vm @@ -0,0 +1,45 @@ +## filename=${context.javaBeanName}.java, folder=entity +package ${context.packageName}.dao.entity; + +#if(${table.hasDateField}) +import java.util.Date; +#end +#if(${table.hasLocalDateField}) +import java.time.LocalDate; +#end +#if(${table.hasLocalDateTimeField}) +import java.time.LocalDateTime; +#end +#if(${table.hasBigDecimalField}) +import java.math.BigDecimal; +#end + +import com.gitee.fastmybatis.annotation.Pk; +import com.gitee.fastmybatis.annotation.PkStrategy; +import com.gitee.fastmybatis.annotation.Table; + +import lombok.Data; + + +/** + * 表名:${table.tableName} +#if("$!{table.comment}" != "") + * 备注:${table.comment} +#end + * + * @author xxx + */ +@Table(name = "${table.tableName}", pk = @Pk(name = "${pk.columnName}", strategy = PkStrategy.INCREMENT)) +@Data +public class ${context.javaBeanName} { + +#foreach($column in $columns) + /** #if("$!{column.comment}" != "")${column.comment},#end 数据库字段:${column.columnName} */ +#if(${column.columnName} == "is_deleted") + @com.gitee.fastmybatis.annotation.Column(logicDelete = true) +#end + private ${column.javaTypeBox} ${column.javaFieldName}; + +#end + +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/mapper.vm b/templates/fastmybatis-v2.0/mapper.vm new file mode 100644 index 0000000..b212933 --- /dev/null +++ b/templates/fastmybatis-v2.0/mapper.vm @@ -0,0 +1,12 @@ +## filename=${context.javaBeanName}Mapper.java, folder=mapper +package ${context.packageName}.dao.mapper; + +import com.gitee.fastmybatis.core.mapper.CrudMapper; +import ${context.packageName}.dao.entity.${context.javaBeanName}; + +/** + * @author xxx + */ +public interface ${context.javaBeanName}Mapper extends CrudMapper<${context.javaBeanName}, ${pk.javaTypeBox}> { + +} \ No newline at end of file diff --git a/templates/fastmybatis-v2.0/service.vm b/templates/fastmybatis-v2.0/service.vm new file mode 100644 index 0000000..bbbc8c9 --- /dev/null +++ b/templates/fastmybatis-v2.0/service.vm @@ -0,0 +1,16 @@ +## filename=${context.javaBeanName}Service.java, folder=service +package ${context.packageName}.mapper; + +import com.gitee.fastmybatis.core.support.IService; +import ${context.packageName}.dao.entity.${context.javaBeanName}; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author xxx + */ +@Service +public class ${context.javaBeanName}Service implements IService<${context.javaBeanName}, ${pk.javaTypeBox}> { + +} \ No newline at end of file -- Gitee From 4098ea15a2adecbfea624603ef8b4deaff15dbb3 Mon Sep 17 00:00:00 2001 From: zhuguojian <984737666@qq.com> Date: Fri, 25 Feb 2022 13:17:30 +0800 Subject: [PATCH 02/20] =?UTF-8?q?fix=201=E3=80=81sqlite=E5=9C=A8mac=20m1?= =?UTF-8?q?=E6=9E=B6=E6=9E=84=E4=B8=8B=E6=97=A0=E6=B3=95=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=822=E3=80=81=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5Oracle=E6=95=B0=E6=8D=AE=E5=BA=93=E7=94=9F?= =?UTF-8?q?=E6=88=90=E4=BB=A3=E7=A0=81=E6=97=B6=EF=BC=8C=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AD=97=E6=AE=B5sql=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gen/pom.xml | 2 +- .../java/com/gitee/gen/gen/oracle/OracleColumnSelector.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gen/pom.xml b/gen/pom.xml index 4997474..51a2bb8 100644 --- a/gen/pom.xml +++ b/gen/pom.xml @@ -51,7 +51,7 @@ org.xerial sqlite-jdbc - 3.21.0.1 + 3.34.0 mysql diff --git a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java index d43a9cc..3092bac 100644 --- a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java +++ b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleColumnSelector.java @@ -40,7 +40,7 @@ public class OracleColumnSelector extends ColumnSelector { private static final String COLUMN_SQL = " SELECT " + " atc.COLUMN_NAME FIELD, atc.DATA_TYPE TYPE, atc.DATA_SCALE SCALE, atc.DATA_LENGTH MAXLENGTH, " + - " CASE atc.NULLABLE NULLABLE , " + + " atc.NULLABLE NULLABLE , " + " atc.DATA_DEFAULT 默认值, acc.COMMENTS COMMENTS, atc.TABLE_NAME 表名, " + " CASE atc.COLUMN_NAME " + " WHEN " + @@ -48,7 +48,7 @@ public class OracleColumnSelector extends ColumnSelector { " LEFT JOIN all_cons_columns col ON con.table_name = col.table_name " + " AND con.OWNER = col.OWNER AND con.CONSTRAINT_NAME = col.CONSTRAINT_NAME " + " WHERE con.constraint_type = 'P' " + - " AND col.table_name = '%s' AND con.OWNER = '%s' ) " + + " AND col.table_name = '%s' AND con.OWNER = '%s' AND col.column_name = atc.COLUMN_NAME ) " + " THEN 'true' ELSE 'false' END AS KEY " + " FROM ALL_TAB_COLUMNS atc " + " LEFT JOIN ALL_COL_COMMENTS acc " + -- Gitee From 4c5a51e22782db05f2c5ca81f3aaad9b105b7218 Mon Sep 17 00:00:00 2001 From: tanghc Date: Mon, 28 Feb 2022 19:51:18 +0800 Subject: [PATCH 03/20] 1.5.6 --- gen/src/main/resources/gen.db | Bin 69632 -> 69632 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/gen/src/main/resources/gen.db b/gen/src/main/resources/gen.db index ce2ce8681d96638240768ca5f96c72b23e1bf6ac..27310455e2b2514b87372f360a74ad5aa1827f4c 100644 GIT binary patch delta 127 zcmZozz|ydQWr8%L&O{k!MxBib3+s8g6Bw8oq8Yd=Iae@5Pi*wv9Noamt;WE>Aju%< zI?<7XQCBiGuOzdiQl&aMKd+>dg^LR$!4Hy{JWo?;bAPuz^W7 delta 147 zcmZozz|ydQWr8%L_Cy(HM(vFW3+s6q7#Nrtq8YdoI9D)4Pi*wv9Noam&D$x<#l;}$ zI?<7XQCD*EJWZv|E4uBOITV0EUrS42^7B4<2bJpN{G8Il3E?*)Vvgh qXHz#k>s|MB*W{;br$1Y__5Ge%ND4vf{StFiYZbKgH=FjKZU6vD=rxc4 -- Gitee From 71c9033b4cc8f922af5840a084ceb1460b457f11 Mon Sep 17 00:00:00 2001 From: tanghc Date: Mon, 9 May 2022 16:58:47 +0800 Subject: [PATCH 04/20] 1.5.8 --- .../main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java index 67a0be1..223d36f 100644 --- a/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java +++ b/gen/src/main/java/com/gitee/gen/gen/oracle/OracleTableSelector.java @@ -10,7 +10,7 @@ import java.util.Map; import static com.gitee.gen.util.FieldUtil.convertString; /** - * 查询mysql数据库表 + * 查询oracle数据库表 */ public class OracleTableSelector extends TableSelector { -- Gitee From 952f67856e25b72e5951684f5040bc779147c10a Mon Sep 17 00:00:00 2001 From: tanghc Date: Mon, 9 May 2022 17:01:50 +0800 Subject: [PATCH 05/20] 1.5.8 --- changelog.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/changelog.md b/changelog.md index e3b2b9b..dd4ad36 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,14 @@ # changelog +## 1.5.8 + +- 修复oracle数据源时,生成代码页面加载不到表列表问题 [pr](https://gitee.com/durcframework/code-gen/pulls/18) [#I4AIPV](https://gitee.com/durcframework/code-gen/issues/I4AIPV) + +## 1.5.7 + +- sqlite在mac m1架构下无法运行问题。 +- 修复连接Oracle数据库生成代码时,查询字段sql报错问题 + ## 1.5.6 - 【新增】常用变量 -- Gitee From 356b72cd82e802c55c377a5bcf5d2c00d7b9f9c9 Mon Sep 17 00:00:00 2001 From: tanghc Date: Wed, 17 Aug 2022 10:31:19 +0800 Subject: [PATCH 06/20] 1.5.9 --- changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/changelog.md b/changelog.md index dd4ad36..f7f54df 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # changelog +## 1.5.9 + +- 支持达梦数据库 [pr](https://gitee.com/durcframework/code-gen/pulls/22) + ## 1.5.8 - 修复oracle数据源时,生成代码页面加载不到表列表问题 [pr](https://gitee.com/durcframework/code-gen/pulls/18) [#I4AIPV](https://gitee.com/durcframework/code-gen/issues/I4AIPV) -- Gitee From fc6a05d73c042fd9f4b9e99975265e43b3ef2f02 Mon Sep 17 00:00:00 2001 From: tanghc Date: Mon, 22 Aug 2022 09:13:13 +0800 Subject: [PATCH 07/20] 1.5.9 --- gen/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gen/pom.xml b/gen/pom.xml index 169de75..dedb0d5 100644 --- a/gen/pom.xml +++ b/gen/pom.xml @@ -70,9 +70,9 @@ - com.dm - DmJdbcDriver - 18 + com.dameng + DmJdbcDriver18 + 8.1.2.141 com.alibaba -- Gitee From 1b2b45bbcc722da940d42dba5c3c375d2e0d8305 Mon Sep 17 00:00:00 2001 From: tanghc Date: Mon, 22 Aug 2022 09:54:17 +0800 Subject: [PATCH 08/20] UPDATE --- docker-build.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker-build.sh b/docker-build.sh index 909202f..d41edcc 100644 --- a/docker-build.sh +++ b/docker-build.sh @@ -8,3 +8,9 @@ sh build.sh # 创建镜像 docker build -t tanghc2020/gen . + +sleep 1 + +echo "推送到docker,命令:docker push tanghc2020/gen:latest" + +docker push tanghc2020/gen:latest -- Gitee From c351f1508563e66b30fff7a9949838e55809eee6 Mon Sep 17 00:00:00 2001 From: hewm <398377532@qq.com> Date: Mon, 22 Aug 2022 11:56:57 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9B=AE=E5=BD=95=E5=8F=AF=E4=BB=A5=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=8F=98=E9=87=8F=EF=BC=9B=E7=94=9F=E6=88=90=E7=9A=84=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E5=8C=85=E5=86=85=E6=96=87=E4=BB=B6=E5=B8=A6=E2=80=98?= =?UTF-8?q?.=E2=80=99=E7=9A=84=E5=8C=85=E5=90=8D=E6=9C=89=E5=B1=82?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/public/velocity/java.json | 4 ++++ front/src/views/generate/result.vue | 5 +++-- .../java/com/gitee/gen/gen/SQLContext.java | 22 +++++++++++++++++++ .../gitee/gen/service/GeneratorService.java | 13 +++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/front/public/velocity/java.json b/front/public/velocity/java.json index 7e59241..87e5630 100644 --- a/front/public/velocity/java.json +++ b/front/public/velocity/java.json @@ -74,6 +74,10 @@ "expression": "${context.javaBeanNameLF}", "text": "Java类名且首字母小写" }, + { + "expression": "${context.javaBeanNameL}", + "text": "Java类名全部小写" + }, { "expression": "${context.datetime}", "text": "日期时间,年月日时分秒" diff --git a/front/src/views/generate/result.vue b/front/src/views/generate/result.vue index bbc1651..eb721f8 100644 --- a/front/src/views/generate/result.vue +++ b/front/src/views/generate/result.vue @@ -203,8 +203,9 @@ export default { const children = row.children const isFolder = children.length > 0 if (isFolder) { - // 创建文件夹 - const folderZip = zip.folder(row.fileName) + // 创建文件夹 将文件层级的点 改为 路径 斜杠 + let folderName = row.fileName.replaceAll('.','/'); + const folderZip = zip.folder(folderName) children.forEach(child => { // 文件放入文件夹中 folderZip.file(child.fileName, child.content) diff --git a/gen/src/main/java/com/gitee/gen/gen/SQLContext.java b/gen/src/main/java/com/gitee/gen/gen/SQLContext.java index 65adb56..2e421b9 100644 --- a/gen/src/main/java/com/gitee/gen/gen/SQLContext.java +++ b/gen/src/main/java/com/gitee/gen/gen/SQLContext.java @@ -31,6 +31,11 @@ public class SQLContext { */ private String packageName; + /** + * 包的子路径 + */ + private String packageSubPath; + /** * 删除的前缀 */ @@ -122,6 +127,15 @@ public class SQLContext { return FieldUtil.lowerFirstLetter(tableName); } + /** + * 返回Java类名全小写 + * + * @return + */ + public String getJavaBeanNameL() { + return getJavaBeanNameLF().toLowerCase(); + } + public String getPkName() { if (javaPkColumn != null) { return javaPkColumn.getColumnName(); @@ -185,4 +199,12 @@ public class SQLContext { public void setAuthor(String author) { this.author = author; } + + public String getPackageSubPath() { + return packageSubPath; + } + + public void setPackageSubPath(String packageSubPath) { + this.packageSubPath = packageSubPath; + } } diff --git a/gen/src/main/java/com/gitee/gen/service/GeneratorService.java b/gen/src/main/java/com/gitee/gen/service/GeneratorService.java index bd07cf6..4b1bb1f 100644 --- a/gen/src/main/java/com/gitee/gen/service/GeneratorService.java +++ b/gen/src/main/java/com/gitee/gen/service/GeneratorService.java @@ -62,7 +62,14 @@ public class GeneratorService { String folder = template.getFolder(); if (StringUtils.isEmpty(folder)) { folder = template.getName(); + }else{ + //文件目录可以使用变量 + folder = doGenerator(sqlContext, folder); } + + setFolder(sqlContext, folder); + + //获取文件名 String fileName = doGenerator(sqlContext, template.getFileName()); String content = doGenerator(sqlContext, template.getContent()); content = this.formatCode(fileName, content); @@ -123,6 +130,12 @@ public class GeneratorService { } } + private void setFolder(SQLContext sqlContext, String folder) { + if (StringUtils.hasText(folder)) { + sqlContext.setPackageSubPath(folder); + } + } + private void setDelPrefix(SQLContext sqlContext, String delPrefix) { if (StringUtils.hasText(delPrefix)) { sqlContext.setDelPrefix(delPrefix); -- Gitee From 5ff984932c3a40a5e707668c73bc47944cbd4e84 Mon Sep 17 00:00:00 2001 From: hewm <398377532@qq.com> Date: Mon, 22 Aug 2022 13:07:41 +0800 Subject: [PATCH 10/20] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=8F=8F=E8=BF=B0=E5=AD=97=E6=AE=B5=EF=BC=8C=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=95=B0=E6=8D=AE=E6=BA=90=E6=97=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E5=AD=97=E6=AE=B5=E7=9A=84=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/generate/GenerateConfig/index.vue | 9 ++++++++- .../gitee/gen/entity/DatasourceConfig.java | 14 +++++++++++++- gen/src/main/resources/gen.db | Bin 69632 -> 69632 bytes .../mybatis/DatasourceConfigMapper.xml | 14 ++++++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/front/src/views/generate/GenerateConfig/index.vue b/front/src/views/generate/GenerateConfig/index.vue index 12a447a..b3a27bb 100644 --- a/front/src/views/generate/GenerateConfig/index.vue +++ b/front/src/views/generate/GenerateConfig/index.vue @@ -132,6 +132,9 @@ /> + + + @@ -259,6 +262,7 @@ export default { datasourceFormData: { id: 0, dbType: 1, + dbDesc: '', host: '', port: '', username: '', @@ -291,6 +295,9 @@ export default { val: 2 }], datasourceRule: { + dbDesc: [ + { required: true, message: '不能为空', trigger: 'blur' } + ], host: [ { required: true, message: '不能为空', trigger: 'blur' } ], @@ -383,7 +390,7 @@ export default { }, getDatasourceLabel(item) { const schema = item.schemaName ? `/${item.schemaName}` : '' - return `${item.dbName}${schema} (${item.host}) - ${item.username}` + return `${item.dbDesc} ${item.dbName}${schema} (${item.host}) - ${item.username}` }, loadGroups() { this.post(`/group/list/`, {}, function(resp) { diff --git a/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java b/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java index e21ee75..6ad76f6 100644 --- a/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java +++ b/gen/src/main/java/com/gitee/gen/entity/DatasourceConfig.java @@ -15,6 +15,8 @@ public class DatasourceConfig { private Integer dbType; /** 数据库驱动 */ private String driverClass; + /** 数据库别名 */ + private String dbDesc; /** 数据库名称 */ private String dbName; /** schema(PGSQL专用) */ @@ -150,12 +152,21 @@ public class DatasourceConfig { this.author = author; } + public String getDbDesc() { + return dbDesc; + } + + public void setDbDesc(String dbDesc) { + this.dbDesc = dbDesc; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DatasourceConfig that = (DatasourceConfig) o; return Objects.equals(id, that.id) && + Objects.equals(dbDesc, that.dbDesc) && Objects.equals(dbType, that.dbType) && Objects.equals(driverClass, that.driverClass) && Objects.equals(dbName, that.dbName) && @@ -172,7 +183,7 @@ public class DatasourceConfig { @Override public int hashCode() { - return Objects.hash(id, dbType, driverClass, dbName, host, port, username, password, isDeleted, packageName, delPrefix, groupId, author); + return Objects.hash(id, dbType, dbDesc, driverClass, dbName, host, port, username, password, isDeleted, packageName, delPrefix, groupId, author); } @Override @@ -180,6 +191,7 @@ public class DatasourceConfig { return "DatasourceConfig{" + "id=" + id + ", dbType=" + dbType + + ", dbDesc=" + dbDesc + ", driverClass='" + driverClass + '\'' + ", dbName='" + dbName + '\'' + ", host='" + host + '\'' + diff --git a/gen/src/main/resources/gen.db b/gen/src/main/resources/gen.db index 27310455e2b2514b87372f360a74ad5aa1827f4c..0a5b122ede70c1b1254127032d5bfe3c2d8c60d0 100644 GIT binary patch delta 701 zcmaKqzfQtX6vkVEf|u6HA~7yaTp%G*R9xLy9ejXtX^*s_|8jeaFck*}<08=q;1x{c z127tA2RC;UM_s+OEgE8al5>;x{?7OHoYU#NIGq=7cdH7=aaEQTmg_8cX3fKz!tI~+ zM4`m3mG#2rbLCN(p|7(3aQRU}S6ir5Yqj|6(>rma8;YndBAJD$$7dR*Lty~q=gD!Y z>;#sTVDT%Dm^LO8c?c632h=qkjerdfZ6=J~SLwuqL@Sl5x7!Ullgc<^h9e-VW?|o# zDU50T_^1(=t%7~k!FDQ`!x^qm6IXWTaGpz2E@WWN7Y06%rE{JjYv95q$p~{e(^qw{ zfI>{hz9F0Pf1~lRHpBx++8$w|8JKa3(#S>!mg*5WH^)pUyFd879}qY2)O4rJC@u3f z18kfQGcN0{=(2ShZnF13x}DC_x6c~zHD<~pYg9zhC%Wf(6x|4;y^8e06{H0xy-SNo WP@beB`z^Pl*OP9KFGTYE&HV-?hP}@K delta 332 zcmZozz|ydQWrDPz4g&*&AP{o{F&hwzPSi0L*J03;IKj)q&cMpa%*1z^dn+e1&qS{8 zn*{}WIk=h&+1bVQ^%>g*C+BgvO+L9 zF|G7-s&1 g4E(S8uWsfsILXf + @@ -22,6 +23,7 @@ t.id , t.db_type + , t.db_desc , t.driver_class , t.db_name , t.schema_name @@ -59,6 +61,7 @@ INSERT INTO datasource_config db_type, + db_desc, driver_class, db_name, schema_name, @@ -74,6 +77,7 @@ #{dbType}, + #{dbDesc}, #{driverClass}, #{dbName}, #{schemaName}, @@ -99,6 +103,9 @@ db_type, + + db_desc, + driver_class, @@ -140,6 +147,9 @@ #{dbType}, + + #{dbDesc}, + #{driverClass}, @@ -184,6 +194,7 @@ UPDATE datasource_config db_type=#{dbType}, + db_desc=#{dbDesc}, driver_class=#{driverClass}, db_name=#{dbName}, schema_name=#{schemaName}, @@ -208,6 +219,9 @@ db_type=#{dbType}, + + db_desc=#{dbDesc}, + driver_class=#{driverClass}, -- Gitee From d93fa7045a5256c6eacae3815a32b7726d4c6e27 Mon Sep 17 00:00:00 2001 From: hewm <398377532@qq.com> Date: Mon, 22 Aug 2022 13:30:38 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/views/template/index.vue | 23 +++++++++++++++++++ .../controller/TemplateConfigController.java | 6 +++++ .../gen/service/TemplateConfigService.java | 15 ++++++++++++ 3 files changed, 44 insertions(+) diff --git a/front/src/views/template/index.vue b/front/src/views/template/index.vue index 7894eb1..f70fc35 100644 --- a/front/src/views/template/index.vue +++ b/front/src/views/template/index.vue @@ -46,6 +46,7 @@ > @@ -132,6 +133,28 @@ export default { onTableUpdate: function(row) { this.goRoute(`edit/${row.id}`) }, + onTableCopy: function (row) { + let currentGroup = this.currentTab; + this.groupTitle = `确认要复制【${row.name}】吗?` + this.$prompt('请输入复制后的模板名称', '复制模板', { + confirmButtonText: '确定', + cancelButtonText: '取消', + inputValue: '', + inputPattern: /^.{1,64}$/, + inputErrorMessage: '不能为空且长度在64以内' + }).then(({value}) => { + const data = { + name: value, + id: row.id, + groupName: currentGroup.groupName, + groupId: currentGroup.groupId + } + this.post('/template/copy', data, resp => { + this.reload() + }) + }).catch(() => { + }) + }, onTableDelete: function(row) { this.confirm(`确认要删除【${row.name}】吗?`, function(done) { this.post('/template/del', row, function() { diff --git a/gen/src/main/java/com/gitee/gen/controller/TemplateConfigController.java b/gen/src/main/java/com/gitee/gen/controller/TemplateConfigController.java index 984d349..f5e07d2 100644 --- a/gen/src/main/java/com/gitee/gen/controller/TemplateConfigController.java +++ b/gen/src/main/java/com/gitee/gen/controller/TemplateConfigController.java @@ -82,4 +82,10 @@ public class TemplateConfigController { return Action.ok(); } + @RequestMapping("/copy") + public Result copy(@RequestBody TemplateConfig templateConfig) { + templateConfigService.copy(templateConfig); + return Action.ok(); + } + } diff --git a/gen/src/main/java/com/gitee/gen/service/TemplateConfigService.java b/gen/src/main/java/com/gitee/gen/service/TemplateConfigService.java index 956cd63..8c1529e 100644 --- a/gen/src/main/java/com/gitee/gen/service/TemplateConfigService.java +++ b/gen/src/main/java/com/gitee/gen/service/TemplateConfigService.java @@ -76,6 +76,21 @@ public class TemplateConfigService { } } + /** + * 复制模板 + * @param templateConfig + */ + public void copy(TemplateConfig templateConfig) { + Integer id = templateConfig.getId(); + TemplateConfig templateConfigById = this.getById(id); + if(templateConfigById == null){ + throw new RuntimeException("要复制的模板不存在"); + } + templateConfigById.setId(null); + templateConfigById.setName(templateConfig.getName()); + this.save(templateConfigById); + } + /** * 解析模板元信息, 即开始第一行是注释时 *

-- Gitee From 4aeb1f8d04ddb55848ab8dd8d011ef39c0570d0d Mon Sep 17 00:00:00 2001 From: hewm <398377532@qq.com> Date: Mon, 22 Aug 2022 13:34:08 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=94=B9=E4=B8=BA=E5=9C=A8=E6=96=B0=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E9=A1=B5=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/utils/global.js | 4 ++++ front/src/views/generate/GenerateConfig/index.vue | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/front/src/utils/global.js b/front/src/utils/global.js index 8f64523..dd374e1 100644 --- a/front/src/utils/global.js +++ b/front/src/utils/global.js @@ -106,6 +106,10 @@ Object.assign(Vue.prototype, { goRoute: function(path) { this.$router.push({ path: path }) }, + goRouteNewWindow: function(path) { + let routeData = this.$router.resolve({ path: path }) + window.open(routeData.href, '_blank'); + }, cellStyleSmall: function() { return { padding: '5px 0' } }, diff --git a/front/src/views/generate/GenerateConfig/index.vue b/front/src/views/generate/GenerateConfig/index.vue index b3a27bb..905280c 100644 --- a/front/src/views/generate/GenerateConfig/index.vue +++ b/front/src/views/generate/GenerateConfig/index.vue @@ -540,7 +540,7 @@ export default { return } const config = JSON.stringify(this.clientParam) - this.goRoute(`result/${config}`) + this.goRouteNewWindow(`result/${config}`) } }) }, -- Gitee From 7aef00ca06d57f277248b7ae8640a88421184a13 Mon Sep 17 00:00:00 2001 From: hewm <398377532@qq.com> Date: Mon, 22 Aug 2022 13:36:36 +0800 Subject: [PATCH 13/20] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9B=91=E5=90=ACCtrl+S=E6=8C=89=E9=94=AE?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E5=BF=AB=E6=8D=B7=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/views/template/edit.vue | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/front/src/views/template/edit.vue b/front/src/views/template/edit.vue index 0b1cd0a..01284a3 100644 --- a/front/src/views/template/edit.vue +++ b/front/src/views/template/edit.vue @@ -4,7 +4,7 @@ - 保 存 + 保 存(Ctrl+S) 返 回 Date: Mon, 22 Aug 2022 14:36:45 +0800 Subject: [PATCH 14/20] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=A1=86=E5=A2=9E=E5=8A=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E9=80=89=E6=8B=A9=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E9=94=AE=E6=8F=90=E7=A4=BA=EF=BC=8C=E7=BE=8E?= =?UTF-8?q?=E5=8C=96=E6=90=9C=E7=B4=A2=E5=92=8C=E6=9B=BF=E6=8D=A2=E6=A1=86?= =?UTF-8?q?=20=E6=8C=89=E9=94=AE=E7=9B=91=E5=90=AC=EF=BC=8C=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E9=A1=B5=E9=9D=A2=E5=8E=BB=E9=99=A4=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E7=9A=84ctrl+R=E5=BF=AB=E6=8D=B7=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/src/views/template/edit.vue | 60 ++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/front/src/views/template/edit.vue b/front/src/views/template/edit.vue index 01284a3..a068518 100644 --- a/front/src/views/template/edit.vue +++ b/front/src/views/template/edit.vue @@ -4,7 +4,7 @@ - 保 存(Ctrl+S) + 保 存 返 回 - Velocity语法 + + + Velocity语法 + + +

[代码样式:{{ item }}]
+ + + + +

+ 快捷键 +

+
+ {{ item }} +
+
@@ -114,14 +130,39 @@