From a68a32d9b6f23bdfdd950ab654d3776362539573 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 10 三月 2022 19:47:31 +0800 Subject: [PATCH] add 增加 DataBaseHelper 数据库助手 用于屏蔽多类型数据库sql语句差异 --- ruoyi-generator/src/main/java/com/ruoyi/generator/service/BaseGenTableServiceImpl.java | 38 +++++++++++--------------------------- 1 files changed, 11 insertions(+), 27 deletions(-) diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/BaseGenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/BaseGenTableServiceImpl.java index b51668f..6d3034f 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/BaseGenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/BaseGenTableServiceImpl.java @@ -3,27 +3,23 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; -import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; import com.baomidou.dynamic.datasource.annotation.DS; import com.ruoyi.common.constant.GenConstants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.helper.DataBaseHelper; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.util.VelocityUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; -import javax.sql.DataSource; import java.io.ByteArrayOutputStream; import java.io.File; -import java.sql.DatabaseMetaData; -import java.sql.SQLException; import java.util.List; import java.util.Map; import java.util.zip.ZipOutputStream; @@ -38,30 +34,18 @@ @Service public class BaseGenTableServiceImpl implements IGenTableService { - @Autowired - private DataSource dataSource; - public BaseGenTableServiceImpl getService() { - DynamicRoutingDataSource ds = (DynamicRoutingDataSource) this.dataSource; - DataSource dataSource = ds.determineDataSource(); - try { - DatabaseMetaData metaData = dataSource.getConnection().getMetaData(); - String databaseProductName = metaData.getDatabaseProductName(); - if ("MySQL".equals(databaseProductName)) { - return SpringUtils.getBean(GenTableServiceImpl.class); - } else if ("Oracle".equals(databaseProductName)) { - return SpringUtils.getBean(OracleGenTableServiceImpl.class); - } else if ("PostgreSQL".equals(databaseProductName)) { - - } else if ("Microsoft SQL Server".equals(databaseProductName)) { - - } else { - throw new ServiceException("褰撳墠鏁版嵁搴撶被鍨嬩笉鏀寔 => " + databaseProductName); - } - } catch (SQLException e) { - throw new ServiceException(e.getMessage()); + if (DataBaseHelper.isMySql()) { + return SpringUtils.getBean(GenTableServiceImpl.class); + } else if (DataBaseHelper.isOracle()) { + return SpringUtils.getBean(OracleGenTableServiceImpl.class); + } else if (DataBaseHelper.isPostgerSql()) { + throw new ServiceException("褰撳墠鏁版嵁搴撶被鍨嬩笉鏀寔!!!"); + } else if (DataBaseHelper.isSqlServer()) { + throw new ServiceException("褰撳墠鏁版嵁搴撶被鍨嬩笉鏀寔!!!"); + } else { + throw new ServiceException("褰撳墠鏁版嵁搴撶被鍨嬩笉鏀寔!!!"); } - return null; } /** -- Gitblit v1.9.3