Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
szpt
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
以墨为白
szpt
Commits
de2b4828
Commit
de2b4828
authored
Feb 20, 2025
by
以墨为白
🎧
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
generator
parent
366e4ec5
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
157 additions
and
0 deletions
+157
-0
src/main/java/com/zksy/szpt/config/BaseMapperPlugin.java
src/main/java/com/zksy/szpt/config/BaseMapperPlugin.java
+40
-0
src/main/java/com/zksy/szpt/config/SwaggerAnnotationPlugin.java
...in/java/com/zksy/szpt/config/SwaggerAnnotationPlugin.java
+49
-0
src/main/java/com/zksy/szpt/config/TableRemarksPlugin.java
src/main/java/com/zksy/szpt/config/TableRemarksPlugin.java
+61
-0
src/main/java/com/zksy/szpt/service/AppStoreService.java
src/main/java/com/zksy/szpt/service/AppStoreService.java
+1
-0
src/main/java/generatorConfig.xml
src/main/java/generatorConfig.xml
+6
-0
No files found.
src/main/java/com/zksy/szpt/config/BaseMapperPlugin.java
0 → 100644
View file @
de2b4828
package
com
.
zksy
.
szpt
.
config
;
import
org.mybatis.generator.api.IntrospectedTable
;
import
org.mybatis.generator.api.PluginAdapter
;
import
org.mybatis.generator.api.dom.java.FullyQualifiedJavaType
;
import
org.mybatis.generator.api.dom.java.Interface
;
import
org.mybatis.generator.api.dom.java.TopLevelClass
;
import
java.util.List
;
/**
* mapper接口增加继承BaseMapper
*/
public
class
BaseMapperPlugin
extends
PluginAdapter
{
private
static
final
String
BASE_MAPPER
=
"com.baomidou.mybatisplus.core.mapper.BaseMapper"
;
@Override
public
boolean
validate
(
List
<
String
>
warnings
)
{
return
true
;
}
@Override
public
boolean
clientGenerated
(
Interface
interfaze
,
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
)
{
// 导入 BaseMapper
FullyQualifiedJavaType
baseMapperType
=
new
FullyQualifiedJavaType
(
BASE_MAPPER
);
FullyQualifiedJavaType
entityType
=
new
FullyQualifiedJavaType
(
introspectedTable
.
getBaseRecordType
());
// 让 Mapper 继承 BaseMapper<Entity>
FullyQualifiedJavaType
superInterface
=
new
FullyQualifiedJavaType
(
String
.
format
(
"%s<%s>"
,
BASE_MAPPER
,
entityType
.
getShortName
()));
interfaze
.
addSuperInterface
(
superInterface
);
interfaze
.
addImportedType
(
baseMapperType
);
interfaze
.
addImportedType
(
entityType
);
return
true
;
}
}
src/main/java/com/zksy/szpt/config/SwaggerAnnotationPlugin.java
0 → 100644
View file @
de2b4828
package
com
.
zksy
.
szpt
.
config
;
import
org.mybatis.generator.api.IntrospectedColumn
;
import
org.mybatis.generator.api.IntrospectedTable
;
import
org.mybatis.generator.api.PluginAdapter
;
import
org.mybatis.generator.api.dom.java.Field
;
import
org.mybatis.generator.api.dom.java.TopLevelClass
;
import
java.util.List
;
/**
* MyBatis Generator 插件:自动为实体类添加 Swagger 注解
* 类上属性需要mysql的url需要加useInformationSchema=true
*/
public
class
SwaggerAnnotationPlugin
extends
PluginAdapter
{
@Override
public
boolean
validate
(
List
<
String
>
warnings
)
{
return
true
;
// 永远返回 true,表示插件可用
}
/**
* 处理 Model 类,为其添加 Swagger 注解
*/
@Override
public
boolean
modelBaseRecordClassGenerated
(
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
)
{
// 添加 @ApiModel 注解
topLevelClass
.
addImportedType
(
"io.swagger.annotations.ApiModel"
);
topLevelClass
.
addAnnotation
(
"@ApiModel(\""
+
introspectedTable
.
getRemarks
()
+
"\")"
);
return
true
;
}
/**
* 处理 Model 字段,为其添加 @ApiModelProperty 注解
*/
@Override
public
boolean
modelFieldGenerated
(
Field
field
,
TopLevelClass
topLevelClass
,
IntrospectedColumn
introspectedColumn
,
IntrospectedTable
introspectedTable
,
ModelClassType
modelClassType
)
{
// 添加 @ApiModelProperty 注解
topLevelClass
.
addImportedType
(
"io.swagger.annotations.ApiModelProperty"
);
String
columnComment
=
introspectedColumn
.
getRemarks
();
// 获取数据库中的字段注释
field
.
addAnnotation
(
"@ApiModelProperty(value = \""
+
columnComment
+
"\")"
);
return
true
;
}
}
src/main/java/com/zksy/szpt/config/TableRemarksPlugin.java
0 → 100644
View file @
de2b4828
package
com
.
zksy
.
szpt
.
config
;
import
org.mybatis.generator.api.IntrospectedColumn
;
import
org.mybatis.generator.api.IntrospectedTable
;
import
org.mybatis.generator.api.PluginAdapter
;
import
org.mybatis.generator.api.dom.java.Field
;
import
org.mybatis.generator.api.dom.java.TopLevelClass
;
import
java.util.List
;
/**
* 自定义 MyBatis Generator 插件:
* 将数据库表注释添加到实体类的类级 JavaDoc 上。mysql的url需要加useInformationSchema=true
* 表字段注释加到实体类属性上。
*/
public
class
TableRemarksPlugin
extends
PluginAdapter
{
@Override
public
boolean
validate
(
List
<
String
>
warnings
)
{
// 必须实现 validate 方法,返回 true 表示插件可用
return
true
;
}
/**
* 为实体类添加表注释
*/
@Override
public
boolean
modelBaseRecordClassGenerated
(
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
)
{
// 获取数据库表的注释
String
tableRemarks
=
introspectedTable
.
getRemarks
();
if
(
tableRemarks
!=
null
&&
!
tableRemarks
.
isEmpty
())
{
// 添加类级 JavaDoc 注释
topLevelClass
.
addJavaDocLine
(
"/**"
);
topLevelClass
.
addJavaDocLine
(
" * "
+
tableRemarks
);
topLevelClass
.
addJavaDocLine
(
" */"
);
}
return
true
;
}
/**
* 为实体类字段添加字段注释。前面使用了DefaultCommentGenerator方法,因此这里可以不用。
*/
@Override
public
boolean
modelFieldGenerated
(
Field
field
,
TopLevelClass
topLevelClass
,
IntrospectedColumn
introspectedColumn
,
IntrospectedTable
introspectedTable
,
ModelClassType
modelClassType
)
{
// 获取数据库字段的注释
String
columnRemarks
=
introspectedColumn
.
getRemarks
();
if
(
columnRemarks
!=
null
&&
!
columnRemarks
.
isEmpty
())
{
// 添加字段 JavaDoc 注释。前面使用了DefaultCommentGenerator方法,因此这里可以不用。
// field.addJavaDocLine("/**");
// field.addJavaDocLine(" * " + columnRemarks);
// field.addJavaDocLine(" */");
}
return
true
;
}
}
src/main/java/com/zksy/szpt/service/AppStoreService.java
View file @
de2b4828
...
...
@@ -17,6 +17,7 @@ public class AppStoreService {
this
.
appStoreMapper
=
appStoreMapper
;
}
public
String
getAppSecretByAppKey
(
String
appKey
)
{
LambdaQueryWrapper
<
AppStore
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
AppStore:
:
getAppKey
,
appKey
);
...
...
src/main/java/generatorConfig.xml
View file @
de2b4828
...
...
@@ -10,6 +10,12 @@
<properties
resource=
"mysql.properties"
/>
<context
id=
"DB2Tables"
targetRuntime=
"MyBatis3"
>
<!-- plugin顺序必须在这里-->
<plugin
type=
"com.zksy.szpt.config.BaseMapperPlugin"
/>
<plugin
type=
"com.zksy.szpt.config.SwaggerAnnotationPlugin"
/>
<plugin
type=
"com.zksy.szpt.config.TableRemarksPlugin"
></plugin>
<!--使用自定义主食类,将表注释写入实体类注释中-->
<commentGenerator
type=
"com.zksy.szpt.config.MybatisGenerator"
>
<!--去掉mybatisgenerator自己的注释-->
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment