From c9726c8ec0ef04044b099852859167323fa0b677 Mon Sep 17 00:00:00 2001 From: pengtang <991589789@qq.com> Date: Mon, 19 Jun 2023 15:34:45 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=20=E4=B8=8B=E5=88=92=E7=BA=BF=E8=BD=AC?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=20=E9=A9=BC=E5=B3=B0=E8=BD=AC=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sjhy/plugin/tool/NameUtils.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/sjhy/plugin/tool/NameUtils.java b/src/main/java/com/sjhy/plugin/tool/NameUtils.java index 8cd5266..c0a41ba 100644 --- a/src/main/java/com/sjhy/plugin/tool/NameUtils.java +++ b/src/main/java/com/sjhy/plugin/tool/NameUtils.java @@ -82,6 +82,33 @@ public class NameUtils { return buffer.toString(); } + + /** + * 下划线转路径(加根路径) + * + * @param str 下划线字符串 + * @return 路径字符串 + */ + public String underlinePath(String str) { + if (StringUtils.isEmpty(str)) { + return str; + } + return str.replace("_", "/"); + } + + /** + * 驼峰转路径(加根路径) + * + * @param str 驼峰字符串 + * @return 路径字符串 + */ + public String hump2Path(String str) { + if (StringUtils.isEmpty(str)) { + return str; + } + return hump2Underline(str).replace("_", "/"); + } + /** * 通过java全名获取类名 * -- Gitee From 682aecbd4e7ed42af39a2a20d360ee1cb5dc342e Mon Sep 17 00:00:00 2001 From: pengtang <991589789@qq.com> Date: Mon, 19 Jun 2023 15:37:48 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=20=E4=B8=8B=E5=88=92=E7=BA=BF=E8=BD=AC?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=20=E9=A9=BC=E5=B3=B0=E8=BD=AC=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sjhy/plugin/tool/NameUtils.java | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/sjhy/plugin/tool/NameUtils.java b/src/main/java/com/sjhy/plugin/tool/NameUtils.java index c0a41ba..dfca2b6 100644 --- a/src/main/java/com/sjhy/plugin/tool/NameUtils.java +++ b/src/main/java/com/sjhy/plugin/tool/NameUtils.java @@ -11,8 +11,19 @@ import java.util.regex.Pattern; * @since 2018/07/17 13:10 */ public class NameUtils { + /** + * 转驼峰命名正则匹配规则 + */ + private static final Pattern TO_HUMP_PATTERN = Pattern.compile("[-_]([a-z0-9])"); + private static final Pattern TO_LINE_PATTERN = Pattern.compile("[A-Z]+"); private volatile static NameUtils nameUtils; + /** + * 私有构造方法 + */ + NameUtils() { + } + /** * 单例模式 */ @@ -27,18 +38,6 @@ public class NameUtils { return nameUtils; } - /** - * 私有构造方法 - */ - NameUtils() { - } - - /** - * 转驼峰命名正则匹配规则 - */ - private static final Pattern TO_HUMP_PATTERN = Pattern.compile("[-_]([a-z0-9])"); - private static final Pattern TO_LINE_PATTERN = Pattern.compile("[A-Z]+"); - /** * 首字母大写方法 * @@ -84,7 +83,7 @@ public class NameUtils { /** - * 下划线转路径(加根路径) + * 下划线转斜杠 * * @param str 下划线字符串 * @return 路径字符串 @@ -96,6 +95,19 @@ public class NameUtils { return str.replace("_", "/"); } + /** + * 下划线转路径(加根路径) + * + * @param str 下划线字符串 + * @return 路径字符串 + */ + public String underlinePathRoot(String str) { + if (StringUtils.isEmpty(str)) { + return str; + } + return "/" + underlinePath(str); + } + /** * 驼峰转路径(加根路径) * @@ -106,7 +118,7 @@ public class NameUtils { if (StringUtils.isEmpty(str)) { return str; } - return hump2Underline(str).replace("_", "/"); + return underlinePath(hump2Underline(str)); } /** -- Gitee From 875a788ceaf551f157dceb385b273987d099d97e Mon Sep 17 00:00:00 2001 From: pengtang <991589789@qq.com> Date: Thu, 6 Jul 2023 10:34:27 +0800 Subject: [PATCH 3/5] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=20JSON=E8=BD=AC=20fast?= =?UTF-8?q?json=202.=E6=B7=BB=E5=8A=A0=20bit(1)=E8=BD=AC=20boolean?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/typeMapper/Default.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/resources/typeMapper/Default.json b/src/main/resources/typeMapper/Default.json index 0a07174..2eba27b 100644 --- a/src/main/resources/typeMapper/Default.json +++ b/src/main/resources/typeMapper/Default.json @@ -68,5 +68,15 @@ "matchType": "ORDINARY", "columnType": "boolean", "javaType": "java.lang.Boolean" + }, + { + "matchType": "ORDINARY", + "columnType": "bit(1)", + "javaType": "java.lang.Boolean" + }, + { + "matchType": "ORDINARY", + "columnType": "json", + "javaType": "com.alibaba.fastjson.JSONObject" } ] -- Gitee From 3d930b5cff0f1623ba62842d9cda7fd39cdb767e Mon Sep 17 00:00:00 2001 From: pengtang <991589789@qq.com> Date: Thu, 6 Jul 2023 10:41:16 +0800 Subject: [PATCH 4/5] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E9=BB=98=E8=AE=A4mybat?= =?UTF-8?q?is-plus=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/MybatisPlus/controller.java.vm | 136 +++++++++--------- .../template/MybatisPlus/domain.java.vm | 54 +++++++ .../template/MybatisPlus/entity.java.vm | 41 ------ .../{dao.java.vm => mapper.java.vm} | 12 +- .../template/MybatisPlus/service.java.vm | 8 +- .../template/MybatisPlus/serviceImpl.java.vm | 12 +- 6 files changed, 144 insertions(+), 119 deletions(-) create mode 100644 src/main/resources/template/MybatisPlus/domain.java.vm delete mode 100644 src/main/resources/template/MybatisPlus/entity.java.vm rename src/main/resources/template/MybatisPlus/{dao.java.vm => mapper.java.vm} (60%) diff --git a/src/main/resources/template/MybatisPlus/controller.java.vm b/src/main/resources/template/MybatisPlus/controller.java.vm index b941fa6..baf211b 100644 --- a/src/main/resources/template/MybatisPlus/controller.java.vm +++ b/src/main/resources/template/MybatisPlus/controller.java.vm @@ -17,81 +17,89 @@ $!{define.vm} #set($entityName = $!tool.firstLowerCase($!tableInfo.name)) import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.api.ApiController; -import com.baomidou.mybatisplus.extension.api.R; +import com.zwz.erp.core.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import $!{tableInfo.savePackageName}.entity.$!tableInfo.name; -import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import $!{tableInfo.savePackageName}.domain.$!tableInfo.name; +import $!{tableInfo.savePackageName}.service.I$!{tableInfo.name}Service; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; +import jakarta.annotation.Resource; + import java.io.Serializable; import java.util.List; ##表注释(宏定义) #tableComment("表控制层") +@Tag(name = "$!{tableInfo.comment}-API") @RestController -@RequestMapping("$!tool.firstLowerCase($!tableInfo.name)") -public class $!{tableName} extends ApiController { - /** - * 服务对象 - */ - @Resource - private $!{tableInfo.name}Service $!{serviceName}; +@RequestMapping("/$!tool.hump2Path($!entityName)") +public class $!{tableName} { + /** + * 服务对象 + */ + @Resource + private I$!{tableInfo.name}Service $!{serviceName}; - /** - * 分页查询所有数据 - * - * @param page 分页对象 - * @param $!entityName 查询实体 - * @return 所有数据 - */ - @GetMapping - public R selectAll(Page<$!tableInfo.name> page, $!tableInfo.name $!entityName) { - return success(this.$!{serviceName}.page(page, new QueryWrapper<>($!entityName))); - } + /** + * 分页查询所有数据 + * + * @param page 分页对象 + * @param $!entityName 查询实体 + * @return 所有数据 + */ + @GetMapping("/li") + @Operation(summary = "分页查询", description = "分页查询所有数据") + public R>selectAll(Page<$!tableInfo.name> page, $!tableInfo.name $!entityName){ + return R.ok($!{serviceName}.page(page,new QueryWrapper<>($!entityName))); + } - /** - * 通过主键查询单条数据 - * - * @param id 主键 - * @return 单条数据 - */ - @GetMapping("{id}") - public R selectOne(@PathVariable Serializable id) { - return success(this.$!{serviceName}.getById(id)); - } + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + @Operation(summary = "主键查询", description = "通过主键查询单条数据") + public R<$!tableInfo.name> selectOne(@PathVariable("id") String id){ + return R.ok($!{serviceName}.getById(id)); + } - /** - * 新增数据 - * - * @param $!entityName 实体对象 - * @return 新增结果 - */ - @PostMapping - public R insert(@RequestBody $!tableInfo.name $!entityName) { - return success(this.$!{serviceName}.save($!entityName)); - } + /** + * 新增数据 + * + * @param $!entityName 实体对象 + * @return 新增结果 + */ + @PostMapping("/in") + @Operation(summary = "新增", description = "新增数据") + public R insert(@RequestBody $!tableInfo.name $!entityName){ + return R.ok($!{serviceName}.save($!entityName)); + } - /** - * 修改数据 - * - * @param $!entityName 实体对象 - * @return 修改结果 - */ - @PutMapping - public R update(@RequestBody $!tableInfo.name $!entityName) { - return success(this.$!{serviceName}.updateById($!entityName)); - } + /** + * 修改数据 + * + * @param $!entityName 实体对象 + * @return 修改结果 + */ + @PutMapping("/up") + @Operation(summary = "修改", description = "修改数据") + public R update(@RequestBody $!tableInfo.name $!entityName){ + return R.ok($!{serviceName}.updateById($!entityName)); + } - /** - * 删除数据 - * - * @param idList 主键结合 - * @return 删除结果 - */ - @DeleteMapping - public R delete(@RequestParam("idList") List idList) { - return success(this.$!{serviceName}.removeByIds(idList)); - } -} + /** + * 删除数据 + * + * @param idList 主键结合 + * @return 删除结果 + */ + @DeleteMapping("/del") + @Operation(summary = "删除", description = "删除数据") + public R delete(@RequestParam("idList") List idList){ + return R.ok($!{serviceName}.removeByIds(idList)); + } + } diff --git a/src/main/resources/template/MybatisPlus/domain.java.vm b/src/main/resources/template/MybatisPlus/domain.java.vm new file mode 100644 index 0000000..8838c91 --- /dev/null +++ b/src/main/resources/template/MybatisPlus/domain.java.vm @@ -0,0 +1,54 @@ +##导入宏定义 +$!{define.vm} + +##保存文件(宏定义) +#save("/domain", ".java") + +##包路径(宏定义) +#setPackageSuffix("domain") + +##自动导入包(全局变量) +$!{autoImport.vm} +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zwz.erp.core.base.BaseEntity; +import lombok.*; + +##表注释(宏定义) +#tableComment("表实体类") +@TableName(value ="$!{tableInfo.obj.name}") +@Getter +@Setter +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Schema(description="$!{tableInfo.comment}") +public class $!{tableInfo.name} extends BaseEntity implements Serializable { +#foreach($column in $tableInfo.pkColumn) + #if(${column.comment}) + /** + * ${column.comment} + */ + #end + #if($column.name.equals('id')) + @TableId(value="id",type = IdType.AUTO) + #else + @TableId(value="${column.obj.name}") + #end +private $!{tool.getClsNameByFullName($column.type)} $!{column.name}; +#end +#foreach($column in $tableInfo.otherColumn) + #if(${column.comment}) + /** + * ${column.comment} + */ + #end +@TableField(value="$!{column.obj.name}") +private $!{tool.getClsNameByFullName($column.type)} $!{column.name}; +#end +} diff --git a/src/main/resources/template/MybatisPlus/entity.java.vm b/src/main/resources/template/MybatisPlus/entity.java.vm deleted file mode 100644 index 0fd23c3..0000000 --- a/src/main/resources/template/MybatisPlus/entity.java.vm +++ /dev/null @@ -1,41 +0,0 @@ -##导入宏定义 -$!{define.vm} - -##保存文件(宏定义) -#save("/entity", ".java") - -##包路径(宏定义) -#setPackageSuffix("entity") - -##自动导入包(全局变量) -$!{autoImport.vm} -import com.baomidou.mybatisplus.extension.activerecord.Model; -import java.io.Serializable; - -##表注释(宏定义) -#tableComment("表实体类") -@SuppressWarnings("serial") -public class $!{tableInfo.name} extends Model<$!{tableInfo.name}> { -#foreach($column in $tableInfo.fullColumn) - #if(${column.comment})//${column.comment}#end - - private $!{tool.getClsNameByFullName($column.type)} $!{column.name}; -#end - -#foreach($column in $tableInfo.fullColumn) -#getSetMethod($column) -#end - -#foreach($column in $tableInfo.pkColumn) - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.$!column.name; - } - #break -#end -} diff --git a/src/main/resources/template/MybatisPlus/dao.java.vm b/src/main/resources/template/MybatisPlus/mapper.java.vm similarity index 60% rename from src/main/resources/template/MybatisPlus/dao.java.vm rename to src/main/resources/template/MybatisPlus/mapper.java.vm index cacd102..101c8ff 100644 --- a/src/main/resources/template/MybatisPlus/dao.java.vm +++ b/src/main/resources/template/MybatisPlus/mapper.java.vm @@ -2,19 +2,21 @@ $!{define.vm} ##设置表后缀(宏定义) -#setTableSuffix("Dao") +#setTableSuffix("Mapper") ##保存文件(宏定义) -#save("/dao", "Dao.java") +#save("/mapper", "Mapper.java") ##包路径(宏定义) -#setPackageSuffix("dao") +#setPackageSuffix("mapper") import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import $!{tableInfo.savePackageName}.entity.$!tableInfo.name; +import $!{tableInfo.savePackageName}.domain.$!tableInfo.name; +import org.apache.ibatis.annotations.Mapper; ##表注释(宏定义) #tableComment("表数据库访问层") +@Mapper public interface $!{tableName} extends BaseMapper<$!tableInfo.name> { -} + } diff --git a/src/main/resources/template/MybatisPlus/service.java.vm b/src/main/resources/template/MybatisPlus/service.java.vm index 5d730c8..51148d8 100644 --- a/src/main/resources/template/MybatisPlus/service.java.vm +++ b/src/main/resources/template/MybatisPlus/service.java.vm @@ -5,16 +5,18 @@ $!{define.vm} #setTableSuffix("Service") ##保存文件(宏定义) -#save("/service", "Service.java") +#saveExt("/service", "Service.java") + ##包路径(宏定义) #setPackageSuffix("service") + import com.baomidou.mybatisplus.extension.service.IService; -import $!{tableInfo.savePackageName}.entity.$!tableInfo.name; +import $!{tableInfo.savePackageName}.domain.$!tableInfo.name; ##表注释(宏定义) #tableComment("表服务接口") -public interface $!{tableName} extends IService<$!tableInfo.name> { +public interface I$!{tableName} extends IService<$!tableInfo.name> { } diff --git a/src/main/resources/template/MybatisPlus/serviceImpl.java.vm b/src/main/resources/template/MybatisPlus/serviceImpl.java.vm index 1c6d411..96e21dc 100644 --- a/src/main/resources/template/MybatisPlus/serviceImpl.java.vm +++ b/src/main/resources/template/MybatisPlus/serviceImpl.java.vm @@ -11,14 +11,14 @@ $!{define.vm} #setPackageSuffix("service.impl") import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import $!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao; -import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}; -import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service; +import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper; +import $!{tableInfo.savePackageName}.domain.$!{tableInfo.name}; +import $!{tableInfo.savePackageName}.service.I$!{tableInfo.name}Service; import org.springframework.stereotype.Service; ##表注释(宏定义) #tableComment("表服务实现类") -@Service("$!tool.firstLowerCase($tableInfo.name)Service") -public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Dao, $!{tableInfo.name}> implements $!{tableInfo.name}Service { +@Service +public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements I$!{tableInfo.name}Service { -} + } -- Gitee From b0d6a43006f45fcb416092d6695404bf28fd21df Mon Sep 17 00:00:00 2001 From: "P.t" Date: Sat, 18 Nov 2023 13:21:44 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20gradle=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=9C=B0=E5=9D=80=E4=B8=BA=E8=85=BE=E8=AE=AF=E4=BB=A3?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 6 ++++-- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index b70da45..6f761a4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,9 @@ buildscript { repositories { mavenCentral() - maven { url 'https://plugins.gradle.org/m2/' } - maven { url 'https://oss.sonatype.org/content/repositories/releases/' } + maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'} +// maven { url 'https://plugins.gradle.org/m2/' } +// maven { url 'https://oss.sonatype.org/content/repositories/releases/' } } } @@ -24,6 +25,7 @@ compileTestJava.options.encoding = "UTF-8" repositories { mavenCentral() + maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'} } // http://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system/prerequisites.html diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0a94912..0f827b0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://downloads.gradle-dn.com/distributions/gradle-6.9-bin.zip +distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-6.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -- Gitee