src/main/java/com/ruoyi/common/constant/Constants.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/project/tool/gen/mapper/GenTableMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ruoyi/project/tool/gen/service/IGenTableService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mybatis/tool/GenTableMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/common/constant/Constants.java
@@ -163,5 +163,5 @@ * 定时任务违规的字符 */ public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", "org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.framework.config" }; "org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.framework.config", "com.ruoyi.project.tool" }; } src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java
@@ -1,6 +1,7 @@ package com.ruoyi.project.tool.gen.controller; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -17,7 +18,13 @@ 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.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.sql.SqlUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; @@ -109,11 +116,48 @@ String[] tableNames = Convert.toStrArray(tables); // 查询表信息 List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames); genTableService.importGenTable(tableList); genTableService.importGenTable(tableList, SecurityUtils.getUsername()); return success(); } /** * 创建表结构(保存) */ @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("创建表结构异常"); } } /** * 修改保存代码生成业务 */ @PreAuthorize("@ss.hasPermi('tool:gen:edit')") src/main/java/com/ruoyi/project/tool/gen/mapper/GenTableMapper.java
@@ -80,4 +80,12 @@ * @return 结果 */ public int deleteGenTableByIds(Long[] ids); /** * 创建表 * * @param sql 表结构 * @return 结果 */ public int createTable(String sql); } src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java
@@ -27,7 +27,6 @@ import com.ruoyi.common.constant.GenConstants; import com.ruoyi.common.core.text.CharsetKit; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.tool.gen.domain.GenTable; import com.ruoyi.project.tool.gen.domain.GenTableColumn; @@ -151,15 +150,26 @@ } /** * 创建表 * * @param sql 创建表语句 * @return 结果 */ @Override public boolean createTable(String sql) { return genTableMapper.createTable(sql) == 0; } /** * 导入表结构 * * @param tableList 导入表列表 */ @Override @Transactional public void importGenTable(List<GenTable> tableList) public void importGenTable(List<GenTable> tableList, String operName) { String operName = SecurityUtils.getUsername(); try { for (GenTable table : tableList) src/main/java/com/ruoyi/project/tool/gen/service/IGenTableService.java
@@ -67,11 +67,20 @@ public void deleteGenTableByIds(Long[] tableIds); /** * 导入表结构 * * @param tableList 导入表列表 * 创建表 * * @param sql 创建表语句 * @return 结果 */ public void importGenTable(List<GenTable> tableList); public boolean createTable(String sql); /** * 导入表结构 * * @param tableList 导入表列表 * @param operName 操作人员 */ public void importGenTable(List<GenTable> tableList, String operName); /** * 预览代码 src/main/resources/mybatis/tool/GenTableMapper.xml
@@ -171,6 +171,10 @@ ) </insert> <update id="createTable"> ${sql} </update> <update id="updateGenTable" parameterType="GenTable"> update gen_table <set>