src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java
@@ -165,13 +165,25 @@ @PreAuthorize("@ss.hasPermi('tool:gen:code')") @Log(title = "代码生成", businessType = BusinessType.GENCODE) @GetMapping("/genCode/{tableName}") public AjaxResult genCode(HttpServletResponse response, @PathVariable("tableName") String tableName) public AjaxResult genCode(@PathVariable("tableName") String tableName) { genTableService.generatorCode(tableName); return AjaxResult.success(); } /** * 同步数据库 */ @PreAuthorize("@ss.hasPermi('tool:gen:edit')") @Log(title = "代码生成", businessType = BusinessType.UPDATE) @GetMapping("/synchDb/{tableName}") public AjaxResult synchDb(@PathVariable("tableName") String tableName) { genTableService.synchDb(tableName); return AjaxResult.success(); } /** * 批量生成代码 */ @PreAuthorize("@ss.hasPermi('tool:gen:code')") src/main/java/com/ruoyi/project/tool/gen/mapper/GenTableColumnMapper.java
@@ -41,6 +41,14 @@ * @return 结果 */ public int updateGenTableColumn(GenTableColumn genTableColumn); /** * 删除业务字段 * * @param genTableColumns 列数据 * @return 结果 */ public int deleteGenTableColumns(List<GenTableColumn> genTableColumns); /** * 批量删除业务字段 src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java
@@ -7,6 +7,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import org.apache.commons.io.IOUtils; @@ -224,7 +225,6 @@ * 生成代码(自定义路径) * * @param tableName 表名称 * @return 数据 */ @Override public void generatorCode(String tableName) @@ -263,6 +263,37 @@ } /** * 同步数据库 * * @param tableName 表名称 */ @Override @Transactional public void synchDb(String tableName) { GenTable table = genTableMapper.selectGenTableByName(tableName); List<GenTableColumn> tableColumns = table.getColumns(); List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); dbTableColumns.forEach(column -> { if (!tableColumnNames.contains(column.getColumnName())) { GenUtils.initColumnField(column, table); genTableColumnMapper.insertGenTableColumn(column); } }); List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList()); if (StringUtils.isNotEmpty(delColumns)) { genTableColumnMapper.deleteGenTableColumns(delColumns); } } /** * 批量生成代码(下载方式) * * @param tableNames 表数组 src/main/java/com/ruoyi/project/tool/gen/service/IGenTableService.java
@@ -91,6 +91,13 @@ public void generatorCode(String tableName); /** * 同步数据库 * * @param tableName 表名称 */ public void synchDb(String tableName); /** * 批量生成代码(下载方式) * * @param tableNames 表数组 src/main/resources/mybatis/tool/GenTableColumnMapper.xml
@@ -117,4 +117,11 @@ </foreach> </delete> <delete id="deleteGenTableColumns"> delete from gen_table_column where column_id in <foreach collection="list" item="item" open="(" separator="," close=")"> #{item.columnId} </foreach> </delete> </mapper> src/main/resources/mybatis/tool/GenTableMapper.xml