Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
ee8491bd
Commit
ee8491bd
authored
Nov 03, 2017
by
naan1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码生成增加可以生成sql
parent
26eda777
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
254 additions
and
24 deletions
+254
-24
guns-admin/src/main/java/com/stylefeng/guns/core/template/config/ContextConfig.java
+9
-0
guns-admin/src/main/java/com/stylefeng/guns/core/template/config/SqlConfig.java
+184
-0
guns-admin/src/main/java/com/stylefeng/guns/core/template/engine/SimpleTemplateEngine.java
+14
-6
guns-admin/src/main/java/com/stylefeng/guns/core/template/engine/base/AbstractTemplateEngine.java
+15
-1
guns-admin/src/main/java/com/stylefeng/guns/core/template/engine/base/GunsTemplateEngine.java
+19
-13
guns-admin/src/main/java/generator/config/AbstractGeneratorConfig.java
+9
-4
guns-admin/src/main/resources/gunsTemplate/advanced/menu_sql.sql.btl
+4
-0
No files found.
guns-admin/src/main/java/com/stylefeng/guns/core/template/config/ContextConfig.java
View file @
ee8491bd
...
...
@@ -30,6 +30,7 @@ public class ContextConfig {
private
Boolean
daoSwitch
=
true
;
//dao
private
Boolean
serviceSwitch
=
true
;
//service
private
Boolean
entitySwitch
=
true
;
//生成实体的开关
private
Boolean
sqlSwitch
=
true
;
//生成sql的开关
public
void
init
()
{
if
(
entityName
==
null
)
{
...
...
@@ -181,4 +182,12 @@ public class ContextConfig {
public
void
setEntitySwitch
(
Boolean
entitySwitch
)
{
this
.
entitySwitch
=
entitySwitch
;
}
public
Boolean
getSqlSwitch
()
{
return
sqlSwitch
;
}
public
void
setSqlSwitch
(
Boolean
sqlSwitch
)
{
this
.
sqlSwitch
=
sqlSwitch
;
}
}
guns-admin/src/main/java/com/stylefeng/guns/core/template/config/SqlConfig.java
0 → 100644
View file @
ee8491bd
package
com
.
stylefeng
.
guns
.
core
.
template
.
config
;
import
com.stylefeng.guns.common.constant.state.IsMenu
;
import
com.stylefeng.guns.common.constant.state.MenuOpenStatus
;
import
com.stylefeng.guns.common.constant.state.MenuStatus
;
import
com.stylefeng.guns.common.persistence.model.Menu
;
import
com.stylefeng.guns.core.util.ToolUtil
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 全局配置
*
* @author fengshuonan
* @date 2017-05-08 20:21
*/
public
class
SqlConfig
{
private
String
sqlPathTemplate
;
private
ContextConfig
contextConfig
;
private
Connection
connection
;
private
String
parentMenuName
;
private
List
<
Menu
>
menus
=
new
ArrayList
<>(
6
);
public
void
init
()
{
this
.
sqlPathTemplate
=
"\\src\\main\\java\\{}.sql"
;
//根据父菜单查询数据库中的pcode和pcodes
String
[]
pcodeAndPcodes
=
getPcodeAndPcodes
();
if
(
pcodeAndPcodes
==
null
)
{
System
.
err
.
println
(
"父级菜单名称输入有误!!!!"
);
return
;
}
//业务菜单
Menu
menu
=
new
Menu
();
menu
.
setCode
(
contextConfig
.
getBizEnName
());
menu
.
setPcode
(
pcodeAndPcodes
[
0
]);
menu
.
setPcodes
(
pcodeAndPcodes
[
1
]
+
"["
+
pcodeAndPcodes
[
0
]
+
"],"
);
menu
.
setName
(
contextConfig
.
getBizChName
());
menu
.
setIcon
(
""
);
menu
.
setUrl
(
"/"
+
contextConfig
.
getBizEnName
());
menu
.
setNum
(
99
);
menu
.
setLevels
(
2
);
menu
.
setIsmenu
(
IsMenu
.
YES
.
getCode
());
menu
.
setTips
(
null
);
menu
.
setStatus
(
MenuStatus
.
ENABLE
.
getCode
());
menu
.
setIsopen
(
MenuOpenStatus
.
CLOSE
.
getCode
());
menus
.
add
(
menu
);
//列表
Menu
list
=
createSubMenu
(
menu
);
list
.
setCode
(
contextConfig
.
getBizEnName
()
+
"_list"
);
list
.
setName
(
contextConfig
.
getBizChName
()
+
"列表"
);
list
.
setUrl
(
"/"
+
contextConfig
.
getBizEnName
()
+
"/list"
);
menus
.
add
(
list
);
//添加
Menu
add
=
createSubMenu
(
menu
);
add
.
setCode
(
contextConfig
.
getBizEnName
()
+
"_add"
);
add
.
setName
(
contextConfig
.
getBizChName
()
+
"添加"
);
add
.
setUrl
(
"/"
+
contextConfig
.
getBizEnName
()
+
"/add"
);
menus
.
add
(
add
);
//更新
Menu
update
=
createSubMenu
(
menu
);
update
.
setCode
(
contextConfig
.
getBizEnName
()
+
"_update"
);
update
.
setName
(
contextConfig
.
getBizChName
()
+
"更新"
);
update
.
setUrl
(
"/"
+
contextConfig
.
getBizEnName
()
+
"/update"
);
menus
.
add
(
update
);
//删除
Menu
delete
=
createSubMenu
(
menu
);
delete
.
setCode
(
contextConfig
.
getBizEnName
()
+
"_delete"
);
delete
.
setName
(
contextConfig
.
getBizChName
()
+
"删除"
);
delete
.
setUrl
(
"/"
+
contextConfig
.
getBizEnName
()
+
"/delete"
);
menus
.
add
(
delete
);
//详情
Menu
detail
=
createSubMenu
(
menu
);
detail
.
setCode
(
contextConfig
.
getBizEnName
()
+
"_detail"
);
detail
.
setName
(
contextConfig
.
getBizChName
()
+
"详情"
);
detail
.
setUrl
(
"/"
+
contextConfig
.
getBizEnName
()
+
"/detail"
);
menus
.
add
(
detail
);
}
private
Menu
createSubMenu
(
Menu
parentMenu
)
{
Menu
menu
=
new
Menu
();
menu
.
setPcode
(
parentMenu
.
getCode
());
menu
.
setPcodes
(
parentMenu
.
getPcodes
()
+
"["
+
parentMenu
.
getCode
()
+
"],"
);
menu
.
setIcon
(
""
);
menu
.
setNum
(
99
);
menu
.
setLevels
(
3
);
menu
.
setIsmenu
(
IsMenu
.
NO
.
getCode
());
menu
.
setTips
(
null
);
menu
.
setStatus
(
MenuStatus
.
ENABLE
.
getCode
());
menu
.
setIsopen
(
MenuOpenStatus
.
CLOSE
.
getCode
());
return
menu
;
}
public
String
[]
getPcodeAndPcodes
()
{
PreparedStatement
preparedStatement
=
null
;
try
{
preparedStatement
=
connection
.
prepareStatement
(
"select * from menu where name like ?"
);
preparedStatement
.
setString
(
1
,
"%"
+
parentMenuName
+
"%"
);
ResultSet
results
=
preparedStatement
.
executeQuery
();
while
(
results
.
next
())
{
String
pcode
=
results
.
getString
(
"code"
);
String
pcodes
=
results
.
getString
(
"pcodes"
);
if
(
ToolUtil
.
isNotEmpty
(
pcode
)
&&
ToolUtil
.
isNotEmpty
(
pcodes
))
{
String
[]
strings
=
{
pcode
,
pcodes
};
return
strings
;
}
else
{
return
null
;
}
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
// 释放资源
try
{
if
(
preparedStatement
!=
null
)
{
preparedStatement
.
close
();
}
if
(
connection
!=
null
)
{
connection
.
close
();
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
return
null
;
}
public
ContextConfig
getContextConfig
()
{
return
contextConfig
;
}
public
void
setContextConfig
(
ContextConfig
contextConfig
)
{
this
.
contextConfig
=
contextConfig
;
}
public
String
getParentMenuName
()
{
return
parentMenuName
;
}
public
void
setParentMenuName
(
String
parentMenuName
)
{
this
.
parentMenuName
=
parentMenuName
;
}
public
Connection
getConnection
()
{
return
connection
;
}
public
void
setConnection
(
Connection
connection
)
{
this
.
connection
=
connection
;
}
public
String
getSqlPathTemplate
()
{
return
sqlPathTemplate
;
}
public
void
setSqlPathTemplate
(
String
sqlPathTemplate
)
{
this
.
sqlPathTemplate
=
sqlPathTemplate
;
}
public
List
<
Menu
>
getMenus
()
{
return
menus
;
}
public
void
setMenus
(
List
<
Menu
>
menus
)
{
this
.
menus
=
menus
;
}
}
guns-admin/src/main/java/com/stylefeng/guns/core/template/engine/SimpleTemplateEngine.java
View file @
ee8491bd
...
...
@@ -14,15 +14,15 @@ public class SimpleTemplateEngine extends GunsTemplateEngine {
@Override
protected
void
generatePageEditHtml
()
{
String
path
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
getPageConfig
().
getPageEditPathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/page_edit.html.btl"
,
path
);
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/page_edit.html.btl"
,
path
);
System
.
out
.
println
(
"生成编辑页面成功!"
);
}
@Override
protected
void
generatePageAddHtml
()
{
String
path
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
getPageConfig
().
getPageAddPathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/page_add.html.btl"
,
path
);
System
.
out
.
println
(
"生成添加页面成功!"
);
}
...
...
@@ -30,7 +30,7 @@ public class SimpleTemplateEngine extends GunsTemplateEngine {
@Override
protected
void
generatePageInfoJs
()
{
String
path
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
getPageConfig
().
getPageInfoJsPathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/page_info.js.btl"
,
path
);
System
.
out
.
println
(
"生成页面详情js成功!"
);
}
...
...
@@ -38,7 +38,7 @@ public class SimpleTemplateEngine extends GunsTemplateEngine {
@Override
protected
void
generatePageJs
()
{
String
path
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
getPageConfig
().
getPageJsPathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/page.js.btl"
,
path
);
System
.
out
.
println
(
"生成页面js成功!"
);
}
...
...
@@ -46,7 +46,7 @@ public class SimpleTemplateEngine extends GunsTemplateEngine {
@Override
protected
void
generatePageHtml
()
{
String
path
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
getPageConfig
().
getPagePathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/page.html.btl"
,
path
);
System
.
out
.
println
(
"生成页面成功!"
);
}
...
...
@@ -58,4 +58,12 @@ public class SimpleTemplateEngine extends GunsTemplateEngine {
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/Controller.java.btl"
,
controllerPath
);
System
.
out
.
println
(
"生成控制器成功!"
);
}
@Override
protected
void
generateSqls
()
{
String
path
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
super
.
sqlConfig
.
getSqlPathTemplate
(),
ToolUtil
.
firstLetterToUpper
(
super
.
getContextConfig
().
getBizEnName
()));
generateFile
(
super
.
getContextConfig
().
getTemplatePrefixPath
()
+
"/menu_sql.sql.btl"
,
path
);
System
.
out
.
println
(
"生成sql成功!"
);
}
}
guns-admin/src/main/java/com/stylefeng/guns/core/template/engine/base/AbstractTemplateEngine.java
View file @
ee8491bd
...
...
@@ -15,6 +15,7 @@ public class AbstractTemplateEngine {
protected
PageConfig
pageConfig
;
//页面的控制器
protected
DaoConfig
daoConfig
;
//Dao配置
protected
ServiceConfig
serviceConfig
;
//Service配置
protected
SqlConfig
sqlConfig
;
//sql配置
public
void
initConfig
()
{
if
(
this
.
contextConfig
==
null
)
{
...
...
@@ -32,7 +33,9 @@ public class AbstractTemplateEngine {
if
(
this
.
serviceConfig
==
null
)
{
this
.
serviceConfig
=
new
ServiceConfig
();
}
if
(
this
.
sqlConfig
==
null
)
{
this
.
sqlConfig
=
new
SqlConfig
();
}
this
.
contextConfig
.
init
();
this
.
controllerConfig
.
setContextConfig
(
this
.
contextConfig
);
...
...
@@ -46,6 +49,9 @@ public class AbstractTemplateEngine {
this
.
pageConfig
.
setContextConfig
(
this
.
contextConfig
);
this
.
pageConfig
.
init
();
this
.
sqlConfig
.
setContextConfig
(
this
.
contextConfig
);
this
.
sqlConfig
.
init
();
}
public
PageConfig
getPageConfig
()
{
...
...
@@ -87,5 +93,13 @@ public class AbstractTemplateEngine {
public
void
setServiceConfig
(
ServiceConfig
serviceConfig
)
{
this
.
serviceConfig
=
serviceConfig
;
}
public
SqlConfig
getSqlConfig
()
{
return
sqlConfig
;
}
public
void
setSqlConfig
(
SqlConfig
sqlConfig
)
{
this
.
sqlConfig
=
sqlConfig
;
}
}
guns-admin/src/main/java/com/stylefeng/guns/core/template/engine/base/GunsTemplateEngine.java
View file @
ee8491bd
...
...
@@ -44,24 +44,25 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine {
groupTemplate
.
registerFunctionPackage
(
"tool"
,
new
ToolUtil
());
}
protected
void
configTemplate
(
Template
template
){
protected
void
configTemplate
(
Template
template
)
{
template
.
binding
(
"controller"
,
super
.
getControllerConfig
());
template
.
binding
(
"context"
,
super
.
getContextConfig
());
template
.
binding
(
"dao"
,
super
.
getDaoConfig
());
template
.
binding
(
"service"
,
super
.
getServiceConfig
());
template
.
binding
(
"sqls"
,
super
.
sqlConfig
);
}
protected
void
generateFile
(
String
template
,
String
filePath
)
{
protected
void
generateFile
(
String
template
,
String
filePath
)
{
Template
pageTemplate
=
groupTemplate
.
getTemplate
(
template
);
configTemplate
(
pageTemplate
);
if
(
PlatformUtil
.
isWindows
())
{
filePath
=
filePath
.
replaceAll
(
"/+|\\\\+"
,
"\\\\"
);
}
else
{
filePath
=
filePath
.
replaceAll
(
"/+|\\\\+"
,
"/"
);
if
(
PlatformUtil
.
isWindows
())
{
filePath
=
filePath
.
replaceAll
(
"/+|\\\\+"
,
"\\\\"
);
}
else
{
filePath
=
filePath
.
replaceAll
(
"/+|\\\\+"
,
"/"
);
}
File
file
=
new
File
(
filePath
);
File
parentFile
=
file
.
getParentFile
();
if
(!
parentFile
.
exists
())
{
if
(!
parentFile
.
exists
())
{
parentFile
.
mkdirs
();
}
try
{
...
...
@@ -76,24 +77,27 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine {
super
.
initConfig
();
//生成模板
if
(
super
.
contextConfig
.
getControllerSwitch
())
{
if
(
super
.
contextConfig
.
getControllerSwitch
())
{
generateController
();
}
if
(
super
.
contextConfig
.
getIndexPageSwitch
())
{
if
(
super
.
contextConfig
.
getIndexPageSwitch
())
{
generatePageHtml
();
}
if
(
super
.
contextConfig
.
getAddPageSwitch
())
{
if
(
super
.
contextConfig
.
getAddPageSwitch
())
{
generatePageAddHtml
();
}
if
(
super
.
contextConfig
.
getEditPageSwitch
())
{
if
(
super
.
contextConfig
.
getEditPageSwitch
())
{
generatePageEditHtml
();
}
if
(
super
.
contextConfig
.
getJsSwitch
())
{
if
(
super
.
contextConfig
.
getJsSwitch
())
{
generatePageJs
();
}
if
(
super
.
contextConfig
.
getInfoJsSwitch
())
{
if
(
super
.
contextConfig
.
getInfoJsSwitch
())
{
generatePageInfoJs
();
}
if
(
super
.
contextConfig
.
getSqlSwitch
())
{
generateSqls
();
}
}
protected
abstract
void
generatePageEditHtml
();
...
...
@@ -108,4 +112,6 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine {
protected
abstract
void
generateController
();
protected
abstract
void
generateSqls
();
}
guns-admin/src/main/java/generator/config/AbstractGeneratorConfig.java
View file @
ee8491bd
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import
com.baomidou.mybatisplus.generator.config.PackageConfig
;
import
com.baomidou.mybatisplus.generator.config.StrategyConfig
;
import
com.stylefeng.guns.core.template.config.ContextConfig
;
import
com.stylefeng.guns.core.template.config.SqlConfig
;
import
com.stylefeng.guns.core.template.engine.SimpleTemplateEngine
;
import
com.stylefeng.guns.core.template.engine.base.GunsTemplateEngine
;
import
com.stylefeng.guns.core.util.FileUtil
;
...
...
@@ -37,6 +38,8 @@ public abstract class AbstractGeneratorConfig {
*/
ContextConfig
contextConfig
=
new
ContextConfig
();
SqlConfig
sqlConfig
=
new
SqlConfig
();
protected
abstract
void
globalConfig
();
protected
abstract
void
dataSourceConfig
();
...
...
@@ -60,16 +63,16 @@ public abstract class AbstractGeneratorConfig {
//controller没用掉,生成之后会自动删掉
packageConfig
.
setController
(
"TTT"
);
if
(!
contextConfig
.
getEntitySwitch
())
{
if
(!
contextConfig
.
getEntitySwitch
())
{
packageConfig
.
setEntity
(
"TTT"
);
}
if
(!
contextConfig
.
getDaoSwitch
())
{
if
(!
contextConfig
.
getDaoSwitch
())
{
packageConfig
.
setMapper
(
"TTT"
);
packageConfig
.
setXml
(
"TTT"
);
}
if
(!
contextConfig
.
getServiceSwitch
())
{
if
(!
contextConfig
.
getServiceSwitch
())
{
packageConfig
.
setService
(
"TTT"
);
packageConfig
.
setServiceImpl
(
"TTT"
);
}
...
...
@@ -79,7 +82,7 @@ public abstract class AbstractGeneratorConfig {
/**
* 删除不必要的代码
*/
public
void
destory
(){
public
void
destory
()
{
String
outputDir
=
globalConfig
.
getOutputDir
()
+
"/TTT"
;
FileUtil
.
deleteDir
(
new
File
(
outputDir
));
}
...
...
@@ -101,6 +104,8 @@ public abstract class AbstractGeneratorConfig {
public
void
doGunsGeneration
()
{
GunsTemplateEngine
gunsTemplateEngine
=
new
SimpleTemplateEngine
();
gunsTemplateEngine
.
setContextConfig
(
contextConfig
);
sqlConfig
.
setConnection
(
dataSourceConfig
.
getConn
());
gunsTemplateEngine
.
setSqlConfig
(
sqlConfig
);
gunsTemplateEngine
.
start
();
}
}
guns-admin/src/main/resources/gunsTemplate/advanced/menu_sql.sql.btl
0 → 100644
View file @
ee8491bd
<% for(menu in sqls.menus!){ %>
INSERT INTO `guns`.`menu` (`code`, `pcode`, `pcodes`, `name`, `icon`, `url`, `num`, `levels`, `ismenu`, `tips`, `status`, `isopen`) VALUES ('${menu.code}', '${menu.pcode}', '${menu.pcodes}', '${menu.name}', '${menu.icon}', '${menu.url}', '${menu.num}', '${menu.levels}', '${menu.ismenu}', NULL, '${menu.status}', '${menu.isopen}');
<% } %>
\ No newline at end of file
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