Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
37339e89
提交
37339e89
authored
1月 19, 2022
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(CRUD): 增加了增删改查的自动生成部分
上级
9b546abc
隐藏空白字符变更
内嵌
并排
正在显示
44 个修改的文件
包含
1131 行增加
和
19 行删除
+1131
-19
pom.xml
kt-base/pom.xml
+11
-8
MetaFieldHandler.java
...ase/src/main/java/org/matrix/config/MetaFieldHandler.java
+36
-0
Action.java
kt-base/src/main/java/org/matrix/database/entity/Action.java
+50
-0
BaseEntity.java
.../src/main/java/org/matrix/database/entity/BaseEntity.java
+55
-0
Connect.java
...ase/src/main/java/org/matrix/database/entity/Connect.java
+45
-0
DynamicVariable.java
...main/java/org/matrix/database/entity/DynamicVariable.java
+51
-0
Example.java
...ase/src/main/java/org/matrix/database/entity/Example.java
+45
-0
Move.java
kt-base/src/main/java/org/matrix/database/entity/Move.java
+39
-0
Project.java
...ase/src/main/java/org/matrix/database/entity/Project.java
+33
-0
TestCase.java
...se/src/main/java/org/matrix/database/entity/TestCase.java
+71
-0
ActionMapper.java
...rc/main/java/org/matrix/database/mapper/ActionMapper.java
+18
-0
ConnectMapper.java
...c/main/java/org/matrix/database/mapper/ConnectMapper.java
+18
-0
DynamicVariableMapper.java
...ava/org/matrix/database/mapper/DynamicVariableMapper.java
+18
-0
ExampleMapper.java
...c/main/java/org/matrix/database/mapper/ExampleMapper.java
+18
-0
MoveMapper.java
.../src/main/java/org/matrix/database/mapper/MoveMapper.java
+18
-0
ProjectMapper.java
...c/main/java/org/matrix/database/mapper/ProjectMapper.java
+18
-0
TestCaseMapper.java
.../main/java/org/matrix/database/mapper/TestCaseMapper.java
+18
-0
IActionService.java
...main/java/org/matrix/database/service/IActionService.java
+16
-0
IConnectService.java
...ain/java/org/matrix/database/service/IConnectService.java
+16
-0
IDynamicVariableService.java
.../org/matrix/database/service/IDynamicVariableService.java
+16
-0
IExampleService.java
...ain/java/org/matrix/database/service/IExampleService.java
+16
-0
IMoveService.java
...c/main/java/org/matrix/database/service/IMoveService.java
+16
-0
IProjectService.java
...ain/java/org/matrix/database/service/IProjectService.java
+16
-0
ITestCaseService.java
...in/java/org/matrix/database/service/ITestCaseService.java
+16
-0
ActionServiceImpl.java
...a/org/matrix/database/service/impl/ActionServiceImpl.java
+20
-0
ConnectServiceImpl.java
.../org/matrix/database/service/impl/ConnectServiceImpl.java
+20
-0
DynamicVariableServiceImpl.java
...rix/database/service/impl/DynamicVariableServiceImpl.java
+20
-0
ExampleServiceImpl.java
.../org/matrix/database/service/impl/ExampleServiceImpl.java
+20
-0
MoveServiceImpl.java
...ava/org/matrix/database/service/impl/MoveServiceImpl.java
+20
-0
ProjectServiceImpl.java
.../org/matrix/database/service/impl/ProjectServiceImpl.java
+20
-0
TestCaseServiceImpl.java
...org/matrix/database/service/impl/TestCaseServiceImpl.java
+20
-0
ActionMapper.xml
kt-base/src/main/resource/ActionMapper.xml
+5
-0
ConnectMapper.xml
kt-base/src/main/resource/ConnectMapper.xml
+5
-0
DynamicVariableMapper.xml
kt-base/src/main/resource/DynamicVariableMapper.xml
+5
-0
ExampleMapper.xml
kt-base/src/main/resource/ExampleMapper.xml
+5
-0
MoveMapper.xml
kt-base/src/main/resource/MoveMapper.xml
+5
-0
ProjectMapper.xml
kt-base/src/main/resource/ProjectMapper.xml
+5
-0
TestCaseMapper.xml
kt-base/src/main/resource/TestCaseMapper.xml
+5
-0
pom.xml
kt-kit/pom.xml
+30
-3
App.java
kt-kit/src/main/java/org/matrix/App.java
+4
-8
CodeGenerator.java
kt-kit/src/main/java/org/matrix/generator/CodeGenerator.java
+59
-0
kt.properties
kt-kit/src/main/resources/kt.properties
+5
-0
entity.java.ftl
kt-kit/src/main/resources/template/entity.java.ftl
+157
-0
mapper.java.ftl
kt-kit/src/main/resources/template/mapper.java.ftl
+27
-0
没有找到文件。
kt-base/pom.xml
浏览文件 @
37339e89
...
...
@@ -17,14 +17,13 @@
<artifactId>
kt-kit
</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>
com.
alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.79
</version>
<groupId>
com.
baomidou
</groupId>
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<version>
3.5.0
</version>
</dependency>
<!-- http
Client
-->
<!-- http
s://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore
-->
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
...
...
@@ -35,22 +34,25 @@
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient-cache
</artifactId>
<version>
4.5
</version>
<version>
4.5
.13
</version>
</dependency>
<!-- http的mime类型都在这里面-->
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpmime
</artifactId>
<version>
4.
3.2
</version>
<version>
4.
5.13
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>
commons-io
</groupId>
<artifactId>
commons-io
</artifactId>
<version>
2.6
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
...
...
@@ -67,7 +69,7 @@
<dependency>
<groupId>
io.netty
</groupId>
<artifactId>
netty-codec-http
</artifactId>
<version>
4.1.
69
.Final
</version>
<version>
4.1.
73
.Final
</version>
</dependency>
<dependency>
...
...
@@ -93,6 +95,7 @@
</dependency>
<!--swagger-->
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
...
...
kt-base/src/main/java/org/matrix/config/MetaFieldHandler.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
config
;
import
com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
;
import
org.apache.ibatis.reflection.MetaObject
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
/**
* MetaFieldHandler.
* 元数据处理器,用于处理自动填充的字段
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2021/11/22 at 7:52 下午
*/
@Component
public
class
MetaFieldHandler
implements
MetaObjectHandler
{
/**
* 创建时设置创建时间
* @param metaObject 数据库原始对象
*/
@Override
public
void
insertFill
(
MetaObject
metaObject
)
{
this
.
strictInsertFill
(
metaObject
,
"createTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
this
.
strictInsertFill
(
metaObject
,
"updateTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
}
/**
* 更新时设置更新时间
* @param metaObject 数据库原始对象
*/
@Override
public
void
updateFill
(
MetaObject
metaObject
)
{
this
.
strictUpdateFill
(
metaObject
,
"updateTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
}
}
kt-base/src/main/java/org/matrix/database/entity/Action.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
/**
* <p>
* 动作
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"Action对象"
,
description
=
"动作"
)
public
class
Action
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"行为ID"
)
private
Integer
moveId
;
@ApiModelProperty
(
"项目ID"
)
private
Integer
projectId
;
@ApiModelProperty
(
"备注"
)
private
String
remark
;
@ApiModelProperty
(
"类型 1为SQL,2为HTTP,3为CASE,4为WAIT_TIME"
)
private
Integer
type
;
@ApiModelProperty
(
"详细参数"
)
private
String
detail
;
}
kt-base/src/main/java/org/matrix/database/entity/BaseEntity.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* BaseEntity.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2021/11/22 at 4:02 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
value
=
"基础对象"
)
public
abstract
class
BaseEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
"主键id,从0开始自增"
)
private
Long
id
;
/**
* 创建时间
*/
@TableField
(
fill
=
FieldFill
.
INSERT
)
@ApiModelProperty
(
"数据创建时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"Asia/Shanghai"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
@ApiModelProperty
(
"数据更新时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"Asia/Shanghai"
)
private
LocalDateTime
updateTime
;
}
kt-base/src/main/java/org/matrix/database/entity/Connect.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
org.matrix.database.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
/**
* <p>
*
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"Connect对象"
,
description
=
""
)
public
class
Connect
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"URL"
)
private
String
url
;
@ApiModelProperty
(
"账号"
)
private
String
username
;
@ApiModelProperty
(
"密码"
)
private
String
password
;
@ApiModelProperty
(
"所用驱动"
)
private
String
driver
;
}
kt-base/src/main/java/org/matrix/database/entity/DynamicVariable.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
org.matrix.database.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
import
org.matrix.enums.DynamicVarType
;
/**
* <p>
*
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"dynamic_variable"
)
@ApiModel
(
value
=
"DynamicVariable对象"
,
description
=
""
)
public
class
DynamicVariable
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"所属项目"
)
private
Integer
projectId
;
@ApiModelProperty
(
"取用字段"
)
private
String
takenField
;
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"动态变量类型 1为KV,2为SQL,3为CASE,4为HTTP"
)
private
DynamicVarType
type
;
@ApiModelProperty
(
"备注"
)
private
String
remark
;
@ApiModelProperty
(
"详细内容"
)
private
String
detail
;
}
kt-base/src/main/java/org/matrix/database/entity/Example.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
org.matrix.database.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
/**
* <p>
* 实例表,项目对应的环境实例,例如:实验室环境,开发环境等
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"Example对象"
,
description
=
"实例表,项目对应的环境实例,例如:实验室环境,开发环境等"
)
public
class
Example
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"实例名称"
)
private
String
name
;
@ApiModelProperty
(
"参数名 (例如:env)"
)
private
String
parameterName
;
@ApiModelProperty
(
"项目ID"
)
private
Integer
projectId
;
@ApiModelProperty
(
"静态变量,以JSON的形式存储,例如({\"name\":\"张三\"})"
)
private
String
variable
;
@ApiModelProperty
(
"ip,例如(http:www.abc.com)"
)
private
String
ip
;
}
kt-base/src/main/java/org/matrix/database/entity/Move.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
org.matrix.database.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
/**
* <p>
*
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"Move对象"
,
description
=
""
)
public
class
Move
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"所属项目"
)
private
Integer
projectId
;
@ApiModelProperty
(
"备注"
)
private
String
remark
;
}
kt-base/src/main/java/org/matrix/database/entity/Project.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
org.matrix.database.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
/**
* <p>
*
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"Project对象"
,
description
=
""
)
public
class
Project
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"名称"
)
private
String
name
;
}
kt-base/src/main/java/org/matrix/database/entity/TestCase.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
org.matrix.database.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
/**
* <p>
*
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"test_case"
)
@ApiModel
(
value
=
"TestCase对象"
,
description
=
""
)
public
class
TestCase
extends
BaseEntity
{
@ApiModelProperty
(
"ID"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"所属项目"
)
private
Integer
projectId
;
@ApiModelProperty
(
"用例类型 1为http"
)
private
Integer
type
;
@ApiModelProperty
(
"前置行动ID组,例如:1,2,3"
)
private
String
moveBefore
;
@ApiModelProperty
(
"后置行动ID组,例如:1,2,3"
)
private
String
moveAferCase
;
@ApiModelProperty
(
"测试执行后行动ID组,例如:1,2,3"
)
private
String
moveAferTest
;
@ApiModelProperty
(
"是否进行异常检验,0为否,1为是"
)
private
Integer
abnormalCheckpoint
;
@ApiModelProperty
(
"是否进行非空检验,0为否,1为是"
)
private
Integer
noEmptyCheckpoint
;
@ApiModelProperty
(
"包含某字段检验(例如 张三,李四) 则对检查结果中是否包含张三或者李四"
)
private
String
containCheckpoint
;
@ApiModelProperty
(
"不包含某字段检验(例如 张三,李四) 则对检查结果中是否不包含张三或者李四"
)
private
String
noContainCheckpoint
;
@ApiModelProperty
(
"数据库检验点,以JSON形式存放"
)
private
String
databaseCheckpoint
;
@ApiModelProperty
(
"jsonpath检验点,以json形式存放"
)
private
String
jsonpathCheckpoint
;
@ApiModelProperty
(
"详细参数"
)
private
String
detail
;
}
kt-base/src/main/java/org/matrix/database/mapper/ActionMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.Action
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* 动作 Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
ActionMapper
extends
BaseMapper
<
Action
>
{
}
kt-base/src/main/java/org/matrix/database/mapper/ConnectMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.Connect
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
ConnectMapper
extends
BaseMapper
<
Connect
>
{
}
kt-base/src/main/java/org/matrix/database/mapper/DynamicVariableMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.DynamicVariable
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
DynamicVariableMapper
extends
BaseMapper
<
DynamicVariable
>
{
}
kt-base/src/main/java/org/matrix/database/mapper/ExampleMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.Example
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* 实例表,项目对应的环境实例,例如:实验室环境,开发环境等 Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
ExampleMapper
extends
BaseMapper
<
Example
>
{
}
kt-base/src/main/java/org/matrix/database/mapper/MoveMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.Move
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
MoveMapper
extends
BaseMapper
<
Move
>
{
}
kt-base/src/main/java/org/matrix/database/mapper/ProjectMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.Project
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
ProjectMapper
extends
BaseMapper
<
Project
>
{
}
kt-base/src/main/java/org/matrix/database/mapper/TestCaseMapper.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
mapper
;
import
org.matrix.database.entity.TestCase
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Repository
public
interface
TestCaseMapper
extends
BaseMapper
<
TestCase
>
{
}
kt-base/src/main/java/org/matrix/database/service/IActionService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.Action
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 动作 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
IActionService
extends
IService
<
Action
>
{
}
kt-base/src/main/java/org/matrix/database/service/IConnectService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.Connect
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
IConnectService
extends
IService
<
Connect
>
{
}
kt-base/src/main/java/org/matrix/database/service/IDynamicVariableService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.DynamicVariable
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
IDynamicVariableService
extends
IService
<
DynamicVariable
>
{
}
kt-base/src/main/java/org/matrix/database/service/IExampleService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.Example
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 实例表,项目对应的环境实例,例如:实验室环境,开发环境等 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
IExampleService
extends
IService
<
Example
>
{
}
kt-base/src/main/java/org/matrix/database/service/IMoveService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.Move
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
IMoveService
extends
IService
<
Move
>
{
}
kt-base/src/main/java/org/matrix/database/service/IProjectService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.Project
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
IProjectService
extends
IService
<
Project
>
{
}
kt-base/src/main/java/org/matrix/database/service/ITestCaseService.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
;
import
org.matrix.database.entity.TestCase
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
public
interface
ITestCaseService
extends
IService
<
TestCase
>
{
}
kt-base/src/main/java/org/matrix/database/service/impl/ActionServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.Action
;
import
org.matrix.database.mapper.ActionMapper
;
import
org.matrix.database.service.IActionService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 动作 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
ActionServiceImpl
extends
ServiceImpl
<
ActionMapper
,
Action
>
implements
IActionService
{
}
kt-base/src/main/java/org/matrix/database/service/impl/ConnectServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.Connect
;
import
org.matrix.database.mapper.ConnectMapper
;
import
org.matrix.database.service.IConnectService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
ConnectServiceImpl
extends
ServiceImpl
<
ConnectMapper
,
Connect
>
implements
IConnectService
{
}
kt-base/src/main/java/org/matrix/database/service/impl/DynamicVariableServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.DynamicVariable
;
import
org.matrix.database.mapper.DynamicVariableMapper
;
import
org.matrix.database.service.IDynamicVariableService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
DynamicVariableServiceImpl
extends
ServiceImpl
<
DynamicVariableMapper
,
DynamicVariable
>
implements
IDynamicVariableService
{
}
kt-base/src/main/java/org/matrix/database/service/impl/ExampleServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.Example
;
import
org.matrix.database.mapper.ExampleMapper
;
import
org.matrix.database.service.IExampleService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 实例表,项目对应的环境实例,例如:实验室环境,开发环境等 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
ExampleServiceImpl
extends
ServiceImpl
<
ExampleMapper
,
Example
>
implements
IExampleService
{
}
kt-base/src/main/java/org/matrix/database/service/impl/MoveServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.Move
;
import
org.matrix.database.mapper.MoveMapper
;
import
org.matrix.database.service.IMoveService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
MoveServiceImpl
extends
ServiceImpl
<
MoveMapper
,
Move
>
implements
IMoveService
{
}
kt-base/src/main/java/org/matrix/database/service/impl/ProjectServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.Project
;
import
org.matrix.database.mapper.ProjectMapper
;
import
org.matrix.database.service.IProjectService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
ProjectServiceImpl
extends
ServiceImpl
<
ProjectMapper
,
Project
>
implements
IProjectService
{
}
kt-base/src/main/java/org/matrix/database/service/impl/TestCaseServiceImpl.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
database
.
service
.
impl
;
import
org.matrix.database.entity.TestCase
;
import
org.matrix.database.mapper.TestCaseMapper
;
import
org.matrix.database.service.ITestCaseService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author matrix
* @since 2022-01-15
*/
@Service
public
class
TestCaseServiceImpl
extends
ServiceImpl
<
TestCaseMapper
,
TestCase
>
implements
ITestCaseService
{
}
kt-base/src/main/resource/ActionMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.ActionMapper"
>
</mapper>
kt-base/src/main/resource/ConnectMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.ConnectMapper"
>
</mapper>
kt-base/src/main/resource/DynamicVariableMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.DynamicVariableMapper"
>
</mapper>
kt-base/src/main/resource/ExampleMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.ExampleMapper"
>
</mapper>
kt-base/src/main/resource/MoveMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.MoveMapper"
>
</mapper>
kt-base/src/main/resource/ProjectMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.ProjectMapper"
>
</mapper>
kt-base/src/main/resource/TestCaseMapper.xml
0 → 100644
浏览文件 @
37339e89
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.matrix.database.mapper.TestCaseMapper"
>
</mapper>
kt-kit/pom.xml
浏览文件 @
37339e89
...
...
@@ -13,10 +13,36 @@
<dependencies>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
1.18.22
</version>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-generator
</artifactId>
<version>
3.5.1
</version>
</dependency>
<!-- datasource 相关-->
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.4.3.4
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-configuration-processor
</artifactId>
<optional>
true
</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
<groupId>
org.freemarker
</groupId>
<artifactId>
freemarker
</artifactId>
<version>
2.3.31
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
kt-kit/src/main/java/org/matrix/App.java
浏览文件 @
37339e89
package
org
.
matrix
;
import
lombok.Data
;
/**
* Hello world!
*
*/
@Data
public
class
App
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Hello World!"
);
public
class
App
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Hello World!"
);
}
}
kt-kit/src/main/java/org/matrix/generator/CodeGenerator.java
0 → 100644
浏览文件 @
37339e89
package
org
.
matrix
.
generator
;
import
com.baomidou.mybatisplus.generator.FastAutoGenerator
;
import
com.baomidou.mybatisplus.generator.config.OutputFile
;
import
com.baomidou.mybatisplus.generator.config.TemplateType
;
import
com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine
;
import
java.util.Collections
;
/**
* CodeGenerator.
* 代码生成器
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2022/1/15 at 3:56 PM
* Suffering is the most powerful teacher of life.
*/
public
class
CodeGenerator
{
private
static
final
String
URL
=
"jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false"
;
private
static
final
String
USERNAME
=
"root"
;
private
static
final
String
PASSWORD
=
"ldf3291369"
;
public
static
void
main
(
String
[]
args
)
{
String
modelPath
=
"/kt-base"
;
String
pkgPath
=
System
.
getProperty
(
"user.dir"
)
+
modelPath
+
"/src/main/java/"
;
String
resPath
=
System
.
getProperty
(
"user.dir"
)
+
modelPath
+
"/src/main/resource/"
;
FastAutoGenerator
.
create
(
URL
,
USERNAME
,
PASSWORD
)
.
globalConfig
(
builder
->
{
builder
.
author
(
"matrix"
)
// 设置作者
.
enableSwagger
()
// 开启 swagger 模式
.
fileOverride
()
// 覆盖已生成文件
.
disableOpenDir
()
// 关闭文件打开功能
.
outputDir
(
pkgPath
);
// 指定输出目录
})
.
packageConfig
(
builder
->
{
builder
.
parent
(
"org.matrix"
)
// 设置父包名
.
moduleName
(
"database"
)
.
pathInfo
(
Collections
.
singletonMap
(
OutputFile
.
mapperXml
,
resPath
));
// 设置mapperXml生成路径
})
.
strategyConfig
(
builder
->
{
builder
.
entityBuilder
()
.
enableLombok
()
.
disableSerialVersionUID
()
// 禁用序列化
.
superClass
(
"org.matrix.database.entity.BaseEntity"
)
// 自定义实体父类
.
addIgnoreColumns
(
"create_time"
,
"update_time"
);
// 忽略生成的字段
})
.
templateConfig
(
builder
->
{
builder
.
disable
(
TemplateType
.
CONTROLLER
,
TemplateType
.
ENTITY
,
TemplateType
.
MAPPER
)
// 禁用模板
.
entity
(
"template/entity.java"
)
// 设置实体模板
.
mapper
(
"template/mapper.java"
);
// 设置mapper模板
})
// 使用Freemarker引擎模板
.
templateEngine
(
new
FreemarkerTemplateEngine
())
.
execute
();
}
}
kt-kit/src/main/resources/kt.properties
0 → 100644
浏览文件 @
37339e89
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
spring.datasource.url
=
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username
=
root
spring.datasource.password
=
ldf3291369
\ No newline at end of file
kt-kit/src/main/resources/template/entity.java.ftl
0 → 100644
浏览文件 @
37339e89
package
${
package
.
Entity
};
<#
list
table
.
importPackages
as
pkg
>
import
${
pkg
};
</#
list
>
<#
if
swagger
>
import
io
.
swagger
.
annotations
.
ApiModel
;
import
io
.
swagger
.
annotations
.
ApiModelProperty
;
</#
if
>
<#
if
entityLombokModel
>
import
lombok
.*;
<#
if
chainModel
>
import
lombok
.
experimental
.
Accessors
;
</#
if
>
</#
if
>
/**
*
<
p
>
*
${
table
.
comment
!}
*
</
p
>
*
*
@
author
${
author
}
*
@
since
${
date
}
*/
<#
if
entityLombokModel
>
@
Data
@
NoArgsConstructor
@
AllArgsConstructor
<#
if
superEntityClass
??>
@
EqualsAndHashCode
(
callSuper
=
true
)
</#
if
>
<#
if
chainModel
>
@
Accessors
(
chain
=
true
)
</#
if
>
</#
if
>
<#
if
table
.
convert
>
@
TableName
(
"${schemaName}${table.name}"
)
</#
if
>
<#
if
swagger
>
@
ApiModel
(
value
=
"${entity}对象"
,
description
=
"${table.comment!}"
)
</#
if
>
<#
if
superEntityClass
??>
public
class
${
entity
}
extends
${
superEntityClass
}<#
if
activeRecord
><${
entity
}></#
if
>
{
<#
elseif
activeRecord
>
public
class
${
entity
}
extends
Model
<${
entity
}>
{
<#
elseif
entitySerialVersionUID
>
public
class
${
entity
}
implements
Serializable
{
<#
else
>
public
class
${
entity
}
{
</#
if
>
<#
if
entitySerialVersionUID
>
private
static
final
long
serialVersionUID
=
1L
;
</#
if
>
<#--
----------
BEGIN
字段循环遍历
---------->
<#
list
table
.
fields
as
field
>
<#
if
field
.
keyFlag
>
<#
assign
keyPropertyName
=
"${field.propertyName}"
/>
</#
if
>
<#
if
field
.
comment
!?length gt 0>
<#
if
swagger
>
@
ApiModelProperty
(
"${field.comment}"
)
<#
else
>
/**
*
${
field
.
comment
}
*/
</#
if
>
</#
if
>
<#
if
field
.
keyFlag
>
<#--
主键
-->
<#
if
field
.
keyIdentityFlag
>
@
TableId
(
value
=
"${field.annotationColumnName}"
,
type
=
IdType
.
AUTO
)
<#
elseif
idType
??>
@
TableId
(
value
=
"${field.annotationColumnName}"
,
type
=
IdType
.${
idType
})
<#
elseif
field
.
convert
>
@
TableId
(
"${field.annotationColumnName}"
)
</#
if
>
<#--
普通字段
-->
<#
elseif
field
.
fill
??>
<#--
-----
存在字段填充设置
----->
<#
if
field
.
convert
>
@
TableField
(
value
=
"${field.annotationColumnName}"
,
fill
=
FieldFill
.${
field
.
fill
})
<#
else
>
@
TableField
(
fill
=
FieldFill
.${
field
.
fill
})
</#
if
>
<#
elseif
field
.
convert
>
@
TableField
(
"${field.annotationColumnName}"
)
</#
if
>
<#--
乐观锁注解
-->
<#
if
field
.
versionField
>
@
Version
</#
if
>
<#--
逻辑删除注解
-->
<#
if
field
.
logicDeleteField
>
@
TableLogic
</#
if
>
private
${
field
.
propertyType
}
${
field
.
propertyName
};
</#
list
>
<#------------
END
字段循环遍历
---------->
<#
if
!entityLombokModel>
<#
list
table
.
fields
as
field
>
<#
if
field
.
propertyType
==
"boolean"
>
<#
assign
getprefix
=
"is"
/>
<#
else
>
<#
assign
getprefix
=
"get"
/>
</#
if
>
public
${
field
.
propertyType
}
${
getprefix
}${
field
.
capitalName
}()
{
return
${
field
.
propertyName
};
}
<#
if
chainModel
>
public
${
entity
}
set
${
field
.
capitalName
}(${
field
.
propertyType
}
${
field
.
propertyName
})
{
<#
else
>
public
void
set
${
field
.
capitalName
}(${
field
.
propertyType
}
${
field
.
propertyName
})
{
</#
if
>
this
.${
field
.
propertyName
}
=
${
field
.
propertyName
};
<#
if
chainModel
>
return
this
;
</#
if
>
}
</#
list
>
</#
if
>
<#
if
entityColumnConstant
>
<#
list
table
.
fields
as
field
>
public
static
final
String
${
field
.
name
?
upper_case
}
=
"${field.name}"
;
</#
list
>
</#
if
>
<#
if
activeRecord
>
@
Override
public
Serializable
pkVal
()
{
<#
if
keyPropertyName
??>
return
this
.${
keyPropertyName
};
<#
else
>
return
null
;
</#
if
>
}
</#
if
>
<#
if
!entityLombokModel>
@
Override
public
String
toString
()
{
return
"${entity}{"
+
<#
list
table
.
fields
as
field
>
<#
if
field_index
==
0
>
"${field.propertyName}="
+
${
field
.
propertyName
}
+
<#
else
>
", ${field.propertyName}="
+
${
field
.
propertyName
}
+
</#
if
>
</#
list
>
"}"
;
}
</#
if
>
}
kt-kit/src/main/resources/template/mapper.java.ftl
0 → 100644
浏览文件 @
37339e89
package
${
package
.
Mapper
};
import
${
package
.
Entity
}.${
entity
};
import
${
superMapperClassPackage
};
<#
if
mapperAnnotation
>
import
org
.
apache
.
ibatis
.
annotations
.
Mapper
;
</#
if
>
/**
*
<
p
>
*
${
table
.
comment
!} Mapper 接口
*
</
p
>
*
*
@
author
${
author
}
*
@
since
${
date
}
*/
<#
if
mapperAnnotation
>
@
Mapper
</#
if
>
<#
if
kotlin
>
interface
${
table
.
mapperName
}
:
${
superMapperClass
}<${
entity
}>
<#
else
>
@
Repository
public
interface
${
table
.
mapperName
}
extends
${
superMapperClass
}<${
entity
}>
{
}
</#
if
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论