From f2892a672a495a78562836561f51a2a274cd16aa Mon Sep 17 00:00:00 2001 From: WangBQ <wangbinglilac@sina.com> Date: 星期一, 29 五月 2023 10:26:10 +0800 Subject: [PATCH] !349 代码生成 从对应数据源加载表结构信息 存储到主数据源 实现存储统一 * 数据库脚本修改,gen_table增加data_name字段,存储对应数据源名称 * 代码生成 从对应数据源加载表结构信息 存储到主数据源 实现存储统一(表结构需要增加对应的数据来源字段) https://gitee.com/… --- ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableMapper.java | 3 ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java | 78 +++++++++++-------- ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml | 37 +++++++- ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/controller/GenController.java | 48 +++++++---- ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java | 10 ++ script/sql/postgres/postgres_ry_vue_5.X.sql | 2 ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/IGenTableService.java | 22 +++-- script/sql/ry_vue_5.X.sql | 1 script/sql/oracle/oracle_ry_vue_5.X.sql | 2 ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableColumnMapper.java | 5 + ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTable.java | 6 + script/sql/sqlserver/sqlserver_ry_vue_5.X.sql | 7 + 12 files changed, 152 insertions(+), 69 deletions(-) diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java index 4da9659..bb20f4b 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java @@ -12,6 +12,9 @@ import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; /** * 鏁版嵁搴撳姪鎵� @@ -69,4 +72,11 @@ // find_in_set(100 , '0,100,101') return "find_in_set('%s' , %s) <> 0".formatted(var, var2); } + + /** + * 鑾峰彇褰撳墠鍔犺浇鐨勬暟鎹簱鍚� + */ + public static List<String> getDataSourceNameList() { + return new ArrayList<>(DS.getDataSources().keySet()); + } } diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/controller/GenController.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/controller/GenController.java index 32133c1..25c510b 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/controller/GenController.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/controller/GenController.java @@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.io.IoUtil; import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.common.web.core.BaseController; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -94,11 +95,11 @@ @SaCheckPermission("tool:gen:import") @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.IMPORT) @PostMapping("/importTable") - public R<Void> importTableSave(String tables) { + public R<Void> importTableSave(String tables, String dataName) { String[] tableNames = Convert.toStrArray(tables); // 鏌ヨ琛ㄤ俊鎭� - List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames); - genTableService.importGenTable(tableList); + List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames, dataName); + genTableService.importGenTable(tableList, dataName); return R.ok(); } @@ -142,53 +143,53 @@ /** * 鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * - * @param tableName 琛ㄥ悕 + * @param tableId 琛↖D */ @SaCheckPermission("tool:gen:code") @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.GENCODE) - @GetMapping("/download/{tableName}") - public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException { - byte[] data = genTableService.downloadCode(tableName); + @GetMapping("/download/{tableId}") + public void download(HttpServletResponse response, @PathVariable("tableId") Long tableId) throws IOException { + byte[] data = genTableService.downloadCode(tableId); genCode(response, data); } /** * 鐢熸垚浠g爜锛堣嚜瀹氫箟璺緞锛� * - * @param tableName 琛ㄥ悕 + * @param tableId 琛↖D */ @SaCheckPermission("tool:gen:code") @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.GENCODE) - @GetMapping("/genCode/{tableName}") - public R<Void> genCode(@PathVariable("tableName") String tableName) { - genTableService.generatorCode(tableName); + @GetMapping("/genCode/{tableId}") + public R<Void> genCode(@PathVariable("tableId") Long tableId) { + genTableService.generatorCode(tableId); return R.ok(); } /** * 鍚屾鏁版嵁搴� * - * @param tableName 琛ㄥ悕 + * @param tableId 琛↖D */ @SaCheckPermission("tool:gen:edit") @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.UPDATE) - @GetMapping("/synchDb/{tableName}") - public R<Void> synchDb(@PathVariable("tableName") String tableName) { - genTableService.synchDb(tableName); + @GetMapping("/synchDb/{tableId}") + public R<Void> synchDb(@PathVariable("tableId") Long tableId) { + genTableService.synchDb(tableId); return R.ok(); } /** * 鎵归噺鐢熸垚浠g爜 * - * @param tables 琛ㄥ悕涓� + * @param tableIdStr 琛↖D涓� */ @SaCheckPermission("tool:gen:code") @Log(title = "浠g爜鐢熸垚", businessType = BusinessType.GENCODE) @GetMapping("/batchGenCode") - public void batchGenCode(HttpServletResponse response, String tables) throws IOException { - String[] tableNames = Convert.toStrArray(tables); - byte[] data = genTableService.downloadCode(tableNames); + public void batchGenCode(HttpServletResponse response, String tableIdStr) throws IOException { + String[] tableIds = Convert.toStrArray(tableIdStr); + byte[] data = genTableService.downloadCode(tableIds); genCode(response, data); } @@ -204,4 +205,13 @@ response.setContentType("application/octet-stream; charset=UTF-8"); IoUtil.write(response.getOutputStream(), false, data); } + + /** + * 鏌ヨ鏁版嵁婧愬悕绉板垪琛� + */ + @SaCheckPermission("tool:gen:list") + @GetMapping(value = "/getDataNames") + public R<Object> getCurrentDataSourceNameList(){ + return R.ok(DataBaseHelper.getDataSourceNameList()); + } } diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTable.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTable.java index 944fd2e..f792ceb 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTable.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTable.java @@ -32,6 +32,12 @@ private Long tableId; /** + * 鏁版嵁婧愬悕绉� + */ + @NotBlank(message = "鏁版嵁婧愬悕绉颁笉鑳戒负绌�") + private String dataName; + + /** * 琛ㄥ悕绉� */ @NotBlank(message = "琛ㄥ悕绉颁笉鑳戒负绌�") diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableColumnMapper.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableColumnMapper.java index 3b5cb60..87f4f1e 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableColumnMapper.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableColumnMapper.java @@ -1,5 +1,6 @@ package org.dromara.generator.mapper; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.generator.domain.GenTableColumn; @@ -17,8 +18,10 @@ * 鏍规嵁琛ㄥ悕绉版煡璇㈠垪淇℃伅 * * @param tableName 琛ㄥ悕绉� + * @param dataName * @return 鍒椾俊鎭� */ - List<GenTableColumn> selectDbTableColumnsByName(String tableName); + @DS("#dataName") + List<GenTableColumn> selectDbTableColumnsByName(String tableName, String dataName); } diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableMapper.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableMapper.java index 30e33e8..c2ff7b6 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableMapper.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableMapper.java @@ -1,5 +1,6 @@ package org.dromara.generator.mapper; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -55,4 +56,6 @@ */ GenTable selectGenTableByName(String tableName); + @DS("") + List<String> selectTableNameList(String dataName); } diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java index c505ec4..77ef303 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java @@ -5,13 +5,18 @@ import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; import org.dromara.common.core.constant.Constants; -import org.dromara.generator.constant.GenConstants; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; @@ -20,6 +25,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.generator.constant.GenConstants; import org.dromara.generator.domain.GenTable; import org.dromara.generator.domain.GenTableColumn; import org.dromara.generator.mapper.GenTableColumnMapper; @@ -27,11 +33,6 @@ import org.dromara.generator.util.GenUtils; import org.dromara.generator.util.VelocityInitializer; import org.dromara.generator.util.VelocityUtils; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.velocity.Template; -import org.apache.velocity.VelocityContext; -import org.apache.velocity.app.Velocity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -40,7 +41,11 @@ import java.io.IOException; import java.io.StringWriter; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -49,7 +54,7 @@ * * @author Lion Li */ -@DS("#header.datasource") +// @DS("#header.datasource") @Slf4j @RequiredArgsConstructor @Service @@ -94,16 +99,19 @@ private QueryWrapper<GenTable> buildGenTableQueryWrapper(GenTable genTable) { Map<String, Object> params = genTable.getParams(); QueryWrapper<GenTable> wrapper = Wrappers.query(); - wrapper.like(StringUtils.isNotBlank(genTable.getTableName()), "lower(table_name)", StringUtils.lowerCase(genTable.getTableName())) + wrapper + .eq(StringUtils.isNotEmpty(genTable.getDataName()),"data_name", genTable.getDataName()) + .like(StringUtils.isNotBlank(genTable.getTableName()), "lower(table_name)", StringUtils.lowerCase(genTable.getTableName())) .like(StringUtils.isNotBlank(genTable.getTableComment()), "lower(table_comment)", StringUtils.lowerCase(genTable.getTableComment())) .between(params.get("beginTime") != null && params.get("endTime") != null, "create_time", params.get("beginTime"), params.get("endTime")); return wrapper; } - + @DS("#genTable.dataName") @Override public TableDataInfo<GenTable> selectPageDbTableList(GenTable genTable, PageQuery pageQuery) { + genTable.getParams().put("genTableNames",baseMapper.selectTableNameList(genTable.getDataName())); Page<GenTable> page = baseMapper.selectPageDbTableList(pageQuery.build(), genTable); return TableDataInfo.build(page); } @@ -112,10 +120,12 @@ * 鏌ヨ鎹簱鍒楄〃 * * @param tableNames 琛ㄥ悕绉扮粍 + * @param dataName * @return 鏁版嵁搴撹〃闆嗗悎 */ + @DS("#dataName") @Override - public List<GenTable> selectDbTableListByNames(String[] tableNames) { + public List<GenTable> selectDbTableListByNames(String[] tableNames, String dataName) { return baseMapper.selectDbTableListByNames(tableNames); } @@ -166,19 +176,21 @@ * 瀵煎叆琛ㄧ粨鏋� * * @param tableList 瀵煎叆琛ㄥ垪琛� + * @param dataName */ - @Transactional(rollbackFor = Exception.class) + @DSTransactional @Override - public void importGenTable(List<GenTable> tableList) { + public void importGenTable(List<GenTable> tableList, String dataName) { String operName = LoginHelper.getUsername(); try { for (GenTable table : tableList) { String tableName = table.getTableName(); GenUtils.initTable(table, operName); + table.setDataName(dataName); int row = baseMapper.insert(table); if (row > 0) { // 淇濆瓨鍒椾俊鎭� - List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); + List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName, dataName); List<GenTableColumn> saveColumns = new ArrayList<>(); for (GenTableColumn column : genTableColumns) { GenUtils.initColumnField(column, table); @@ -231,14 +243,14 @@ /** * 鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * - * @param tableName 琛ㄥ悕绉� + * @param tableId 琛ㄥ悕绉� * @return 鏁版嵁 */ @Override - public byte[] downloadCode(String tableName) { + public byte[] downloadCode(Long tableId) { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(outputStream); - generatorCode(tableName, zip); + generatorCode(tableId, zip); IoUtil.close(zip); return outputStream.toByteArray(); } @@ -246,12 +258,12 @@ /** * 鐢熸垚浠g爜锛堣嚜瀹氫箟璺緞锛� * - * @param tableName 琛ㄥ悕绉� + * @param tableId 琛ㄥ悕绉� */ @Override - public void generatorCode(String tableName) { + public void generatorCode(Long tableId) { // 鏌ヨ琛ㄤ俊鎭� - GenTable table = baseMapper.selectGenTableByName(tableName); + GenTable table = baseMapper.selectGenTableById(tableId); // 璁剧疆涓婚敭鍒椾俊鎭� setPkColumn(table); @@ -280,16 +292,16 @@ /** * 鍚屾鏁版嵁搴� * - * @param tableName 琛ㄥ悕绉� + * @param tableId 琛ㄥ悕绉� */ - @Transactional(rollbackFor = Exception.class) + @DSTransactional @Override - public void synchDb(String tableName) { - GenTable table = baseMapper.selectGenTableByName(tableName); + public void synchDb(Long tableId) { + GenTable table = baseMapper.selectGenTableById(tableId); List<GenTableColumn> tableColumns = table.getColumns(); Map<String, GenTableColumn> tableColumnMap = StreamUtils.toIdentityMap(tableColumns, GenTableColumn::getColumnName); - List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); + List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(table.getTableName(), table.getDataName()); if (CollUtil.isEmpty(dbTableColumns)) { throw new ServiceException("鍚屾鏁版嵁澶辫触锛屽師琛ㄧ粨鏋勪笉瀛樺湪"); } @@ -322,22 +334,24 @@ List<GenTableColumn> delColumns = StreamUtils.filter(tableColumns, column -> !dbTableColumnNames.contains(column.getColumnName())); if (CollUtil.isNotEmpty(delColumns)) { List<Long> ids = StreamUtils.toList(delColumns, GenTableColumn::getColumnId); - genTableColumnMapper.deleteBatchIds(ids); + if (CollUtil.isNotEmpty(ids)) { + genTableColumnMapper.deleteBatchIds(ids); + } } } /** * 鎵归噺鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * - * @param tableNames 琛ㄦ暟缁� + * @param tableIds 琛↖D鏁扮粍 * @return 鏁版嵁 */ @Override - public byte[] downloadCode(String[] tableNames) { + public byte[] downloadCode(String[] tableIds) { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(outputStream); - for (String tableName : tableNames) { - generatorCode(tableName, zip); + for (String tableId : tableIds) { + generatorCode(Long.parseLong(tableId), zip); } IoUtil.close(zip); return outputStream.toByteArray(); @@ -346,9 +360,9 @@ /** * 鏌ヨ琛ㄤ俊鎭苟鐢熸垚浠g爜 */ - private void generatorCode(String tableName, ZipOutputStream zip) { + private void generatorCode(Long tableId, ZipOutputStream zip) { // 鏌ヨ琛ㄤ俊鎭� - GenTable table = baseMapper.selectGenTableByName(tableName); + GenTable table = baseMapper.selectGenTableById(tableId); List<Long> menuIds = new ArrayList<>(); for (int i = 0; i < 6; i++) { menuIds.add(identifierGenerator.nextId(null).longValue()); diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/IGenTableService.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/IGenTableService.java index 643742b..51d3e23 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/IGenTableService.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/IGenTableService.java @@ -43,9 +43,10 @@ * 鏌ヨ鎹簱鍒楄〃 * * @param tableNames 琛ㄥ悕绉扮粍 + * @param dataName * @return 鏁版嵁搴撹〃闆嗗悎 */ - List<GenTable> selectDbTableListByNames(String[] tableNames); + List<GenTable> selectDbTableListByNames(String[] tableNames, String dataName); /** * 鏌ヨ鎵�鏈夎〃淇℃伅 @@ -82,8 +83,9 @@ * 瀵煎叆琛ㄧ粨鏋� * * @param tableList 瀵煎叆琛ㄥ垪琛� + * @param dataName */ - void importGenTable(List<GenTable> tableList); + void importGenTable(List<GenTable> tableList, String dataName); /** * 棰勮浠g爜 @@ -96,33 +98,33 @@ /** * 鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * - * @param tableName 琛ㄥ悕绉� + * @param tableId 琛ㄥ悕绉� * @return 鏁版嵁 */ - byte[] downloadCode(String tableName); + byte[] downloadCode(Long tableId); /** * 鐢熸垚浠g爜锛堣嚜瀹氫箟璺緞锛� * - * @param tableName 琛ㄥ悕绉� + * @param tableId 琛ㄥ悕绉� * @return 鏁版嵁 */ - void generatorCode(String tableName); + void generatorCode(Long tableId); /** * 鍚屾鏁版嵁搴� * - * @param tableName 琛ㄥ悕绉� + * @param tableId 琛ㄥ悕绉� */ - void synchDb(String tableName); + void synchDb(Long tableId); /** * 鎵归噺鐢熸垚浠g爜锛堜笅杞芥柟寮忥級 * - * @param tableNames 琛ㄦ暟缁� + * @param tableIds 琛↖D鏁扮粍 * @return 鏁版嵁 */ - byte[] downloadCode(String[] tableNames); + byte[] downloadCode(String[] tableIds); /** * 淇敼淇濆瓨鍙傛暟鏍¢獙 diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 1ae784f..5641f85 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -20,7 +20,12 @@ from information_schema.tables where table_schema = (select database()) AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT IN (select table_name from gen_table) + <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> + AND table_name NOT IN + <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> + #{item} + </foreach> + </if> <if test="genTable.tableName != null and genTable.tableName != ''"> AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) </if> @@ -36,7 +41,12 @@ and dt.table_name = uo.object_name and uo.object_type = 'TABLE' AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%' - AND lower(dt.table_name) NOT IN (select table_name from gen_table) + <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> + AND lower(dt.table_name) NOT IN + <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> + #{item} + </foreach> + </if> <if test="genTable.tableName != null and genTable.tableName != ''"> AND lower(dt.table_name) like lower(concat(concat('%', #{genTable.tableName}), '%')) </if> @@ -60,7 +70,12 @@ AND n.nspname <![CDATA[ <> ]]> ''::name ) list_table where table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT IN (select table_name from gen_table) + <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> + AND table_name NOT IN + <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> + #{item} + </foreach> + </if> <if test="genTable.tableName != null and genTable.tableName != ''"> AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) </if> @@ -78,7 +93,12 @@ INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES' AND D.NAME NOT LIKE 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%' - AND D.NAME NOT IN (select table_name from gen_table) + <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> + AND D.NAME NOT IN + <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> + #{item} + </foreach> + </if> <if test="genTable.tableName != null and genTable.tableName != ''"> AND lower(D.NAME) like lower(concat(N'%', N'${genTable.tableName}', N'%')) </if> @@ -194,7 +214,7 @@ </select> <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, + SELECT t.table_id, t.data_name, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id @@ -202,7 +222,7 @@ </select> <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, + SELECT t.table_id, t.data_name, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id @@ -210,11 +230,14 @@ </select> <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark, + SELECT t.table_id, t.data_name, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id order by c.sort </select> + <select id="selectTableNameList" resultType="java.lang.String"> + select table_name from gen_table where data_name = #{dataName,jdbcType=VARCHAR} + </select> </mapper> diff --git a/script/sql/oracle/oracle_ry_vue_5.X.sql b/script/sql/oracle/oracle_ry_vue_5.X.sql index 0456f11..3e93ae9 100644 --- a/script/sql/oracle/oracle_ry_vue_5.X.sql +++ b/script/sql/oracle/oracle_ry_vue_5.X.sql @@ -910,6 +910,7 @@ -- ---------------------------- create table gen_table ( table_id number(20) not null, + data_name varchar2(200) default '', table_name varchar2(200) default '', table_comment varchar2(500) default '', sub_table_name varchar(64) default null, @@ -936,6 +937,7 @@ comment on table gen_table is '浠g爜鐢熸垚涓氬姟琛�'; comment on column gen_table.table_id is '缂栧彿'; +comment on column gen_table.data_name is '鏁版嵁婧愬悕绉�'; comment on column gen_table.table_name is '琛ㄥ悕绉�'; comment on column gen_table.table_comment is '琛ㄦ弿杩�'; comment on column gen_table.sub_table_name is '鍏宠仈瀛愯〃鐨勮〃鍚�'; diff --git a/script/sql/postgres/postgres_ry_vue_5.X.sql b/script/sql/postgres/postgres_ry_vue_5.X.sql index bdf28b4..b510042 100644 --- a/script/sql/postgres/postgres_ry_vue_5.X.sql +++ b/script/sql/postgres/postgres_ry_vue_5.X.sql @@ -935,6 +935,7 @@ create table if not exists gen_table ( table_id int8, + data_name varchar(200) default ''::varchar, table_name varchar(200) default ''::varchar, table_comment varchar(500) default ''::varchar, sub_table_name varchar(64) default ''::varchar, @@ -960,6 +961,7 @@ comment on table gen_table is '浠g爜鐢熸垚涓氬姟琛�'; comment on column gen_table.table_id is '缂栧彿'; +comment on column gen_table.data_name is '鏁版嵁婧愬悕绉�'; comment on column gen_table.table_name is '琛ㄥ悕绉�'; comment on column gen_table.table_comment is '琛ㄦ弿杩�'; comment on column gen_table.sub_table_name is '鍏宠仈瀛愯〃鐨勮〃鍚�'; diff --git a/script/sql/ry_vue_5.X.sql b/script/sql/ry_vue_5.X.sql index 2b3ea0c..713d962 100644 --- a/script/sql/ry_vue_5.X.sql +++ b/script/sql/ry_vue_5.X.sql @@ -686,6 +686,7 @@ drop table if exists gen_table; create table gen_table ( table_id bigint(20) not null comment '缂栧彿', + data_name varchar(200) default '' comment '鏁版嵁婧愬悕绉�', table_name varchar(200) default '' comment '琛ㄥ悕绉�', table_comment varchar(500) default '' comment '琛ㄦ弿杩�', sub_table_name varchar(64) default null comment '鍏宠仈瀛愯〃鐨勮〃鍚�', diff --git a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql index f72dfff..4bff0ed 100644 --- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql +++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql @@ -254,6 +254,7 @@ CREATE TABLE gen_table ( table_id bigint NOT NULL, + data_name nvarchar(200) DEFAULT '' NULL, table_name nvarchar(200) DEFAULT '' NULL, table_comment nvarchar(500) DEFAULT '' NULL, sub_table_name nvarchar(64) NULL, @@ -288,6 +289,12 @@ 'COLUMN', N'table_id' GO EXEC sys.sp_addextendedproperty + 'MS_Description', N'鏁版嵁婧愬悕绉�' , + 'SCHEMA', N'dbo', + 'TABLE', N'gen_table', + 'COLUMN', N'data_name' +GO +EXEC sys.sp_addextendedproperty 'MS_Description', N'琛ㄥ悕绉�' , 'SCHEMA', N'dbo', 'TABLE', N'gen_table', -- Gitblit v1.9.3