Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-gen
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-gen
Commits
f27bcf11
提交
f27bcf11
authored
10月 18, 2024
作者:
zhangmrit
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
create table
上级
399af8c2
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
83 行增加
和
0 行删除
+83
-0
pom.xml
pom.xml
+6
-0
GenController.java
src/main/java/com/sfa/gen/controller/GenController.java
+44
-0
GenTableMapper.java
src/main/java/com/sfa/gen/mapper/GenTableMapper.java
+9
-0
GenTableServiceImpl.java
src/main/java/com/sfa/gen/service/GenTableServiceImpl.java
+12
-0
IGenTableService.java
src/main/java/com/sfa/gen/service/IGenTableService.java
+8
-0
GenTableMapper.xml
src/main/resources/mapper/generator/GenTableMapper.xml
+4
-0
没有找到文件。
pom.xml
浏览文件 @
f27bcf11
...
...
@@ -55,6 +55,12 @@
<groupId>
com.mysql
</groupId>
<artifactId>
mysql-connector-j
</artifactId>
</dependency>
<!-- 阿里数据库连接池 -->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
</dependency>
<!-- RuoYi Common Log -->
<dependency>
...
...
src/main/java/com/sfa/gen/controller/GenController.java
浏览文件 @
f27bcf11
package
com
.
sfa
.
gen
.
controller
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -16,6 +17,11 @@ import org.springframework.web.bind.annotation.PutMapping;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.druid.DbType
;
import
com.alibaba.druid.sql.SQLUtils
;
import
com.alibaba.druid.sql.ast.SQLStatement
;
import
com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlCreateTableStatement
;
import
com.sfa.common.core.text.Convert
;
import
com.sfa.common.core.web.controller.BaseController
;
import
com.sfa.common.core.web.domain.AjaxResult
;
...
...
@@ -23,6 +29,7 @@ import com.sfa.common.core.web.page.TableDataInfo;
import
com.sfa.common.log.annotation.Log
;
import
com.sfa.common.log.enums.BusinessType
;
import
com.sfa.common.security.annotation.RequiresPermissions
;
import
com.ruoyi.common.utils.sql.SqlUtil
;
import
com.sfa.gen.domain.GenTable
;
import
com.sfa.gen.domain.GenTableColumn
;
import
com.sfa.gen.service.IGenTableColumnService
;
...
...
@@ -55,6 +62,43 @@ public class GenController extends BaseController
return
getDataTable
(
list
);
}
/**
* 创建表结构(保存)
*/
@PreAuthorize
(
"@ss.hasRole('admin')"
)
@Log
(
title
=
"创建表"
,
businessType
=
BusinessType
.
OTHER
)
@PostMapping
(
"/createTable"
)
public
AjaxResult
createTableSave
(
String
sql
)
{
try
{
SqlUtil
.
filterKeyword
(
sql
);
List
<
SQLStatement
>
sqlStatements
=
SQLUtils
.
parseStatements
(
sql
,
DbType
.
mysql
);
List
<
String
>
tableNames
=
new
ArrayList
<>();
for
(
SQLStatement
sqlStatement
:
sqlStatements
)
{
if
(
sqlStatement
instanceof
MySqlCreateTableStatement
)
{
MySqlCreateTableStatement
createTableStatement
=
(
MySqlCreateTableStatement
)
sqlStatement
;
if
(
genTableService
.
createTable
(
createTableStatement
.
toString
()))
{
String
tableName
=
createTableStatement
.
getTableName
().
replaceAll
(
"`"
,
""
);
tableNames
.
add
(
tableName
);
}
}
}
List
<
GenTable
>
tableList
=
genTableService
.
selectDbTableListByNames
(
tableNames
.
toArray
(
new
String
[
tableNames
.
size
()]));
String
operName
=
SecurityUtils
.
getUsername
();
genTableService
.
importGenTable
(
tableList
,
operName
);
return
AjaxResult
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
AjaxResult
.
error
(
"创建表结构异常"
);
}
}
/**
* 修改代码生成业务
*/
...
...
src/main/java/com/sfa/gen/mapper/GenTableMapper.java
浏览文件 @
f27bcf11
...
...
@@ -84,4 +84,12 @@ public interface GenTableMapper
* @return 结果
*/
public
int
deleteGenTableByIds
(
Long
[]
ids
);
/**
* 创建表
*
* @param sql 创建表语句
* @return 结果
*/
public
boolean
createTable
(
String
sql
);
}
\ No newline at end of file
src/main/java/com/sfa/gen/service/GenTableServiceImpl.java
浏览文件 @
f27bcf11
...
...
@@ -150,6 +150,18 @@ public class GenTableServiceImpl implements IGenTableService
genTableColumnMapper
.
deleteGenTableColumnByIds
(
tableIds
);
}
/**
* 创建表
*
* @param sql 创建表语句
* @return 结果
*/
@Override
public
boolean
createTable
(
String
sql
)
{
return
genTableMapper
.
createTable
(
sql
)
==
0
;
}
/**
* 导入表结构
*
...
...
src/main/java/com/sfa/gen/service/IGenTableService.java
浏览文件 @
f27bcf11
...
...
@@ -66,6 +66,14 @@ public interface IGenTableService
*/
public
void
deleteGenTableByIds
(
Long
[]
tableIds
);
/**
* 创建表
*
* @param sql 表结构
* @return 结果
*/
public
int
createTable
(
String
sql
);
/**
* 导入表结构
*
...
...
src/main/resources/mapper/generator/GenTableMapper.xml
浏览文件 @
f27bcf11
...
...
@@ -170,6 +170,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sysdate()
)
</insert>
<update
id=
"createTable"
>
${sql}
</update>
<update
id=
"updateGenTable"
parameterType=
"com.sfa.gen.domain.GenTable"
>
update gen_table
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论