From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/service/impl/SysAssembleDbServiceImpl.java | 75 +++++++++++++++++++++++++++++++------ 1 files changed, 62 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/SysAssembleDbServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/SysAssembleDbServiceImpl.java index 8e066e7..7706a70 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/SysAssembleDbServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/SysAssembleDbServiceImpl.java @@ -1,20 +1,15 @@ package com.highdatas.mdm.service.impl; -import com.alibaba.druid.pool.DruidDataSource; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.highdatas.mdm.entity.SysAssemble; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.highdatas.mdm.entity.SysAssembleDb; import com.highdatas.mdm.entity.SysAssembleDbdriver; import com.highdatas.mdm.mapper.SysAssembleDbMapper; -import com.highdatas.mdm.pojo.kettle.UnBigDataDataSourceInfo; import com.highdatas.mdm.service.ISysAssembleDbService; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.highdatas.mdm.service.ISysAssembleDbdriverService; -import com.highdatas.mdm.service.ISysAssembleService; import com.highdatas.mdm.util.Constant; +import org.apache.commons.dbutils.DbUtils; import org.apache.commons.lang3.StringUtils; -import org.pentaho.di.core.KettleClientEnvironment; -import org.pentaho.di.core.database.DatabaseMeta; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +17,7 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; +import java.util.Properties; /** * <p> @@ -51,9 +47,10 @@ Connection connection = null; try { SysAssembleDbdriver sysAssembleDbdriver = dbdriverService.selectOne(new EntityWrapper<SysAssembleDbdriver>().eq(Constant.TYPE, assemble.getDatasourceType())); + String driver = "com.mysql.cj.jdbc.Driver"; if (sysAssembleDbdriver != null) { - String driver = sysAssembleDbdriver.getDriver(); - Class.forName(driver).newInstance(); + driver = sysAssembleDbdriver.getDriver(); +// dataSource.setDriverClassName(driver);c } // Boolean bigdata = assemble.getBigdata(); @@ -63,8 +60,30 @@ // dataMetaOutput = new DatabaseMeta("Output", unBigDataDataSourceInfo.getDbType(), "Native", unBigDataDataSourceInfo.getDbHostName(), unBigDataDataSourceInfo.getDbName(), unBigDataDataSourceInfo.getDbPort(), // unBigDataDataSourceInfo.getUsername(), unBigDataDataSourceInfo.getPassword()); // } + DriverManager.setLoginTimeout(5); + String datasourcePass = assemble.getDatasourcePass(); + try { + datasourcePass = com.datacvg.common.EncryptUtils.decrypt(datasourcePass); + }catch (Exception e){ + e.printStackTrace(); + } - connection = DriverManager.getConnection(assemble.getDatasourceUrl(), assemble.getDatasourceUser(), assemble.getDatasourcePass()); +// dataSource.setUrl(assemble.getDatasourceUrl()); +// dataSource.setUsername(assemble.getDatasourceUser()); +// dataSource.setPassword(datasourcePass); +// connection = dataSource.getConnection(); + Properties properties = new Properties(); + properties.setProperty("user",assemble.getDatasourceUser()); + properties.setProperty("password",datasourcePass); + DbUtils.loadDriver(driver); +// Class.forName(driver); + String datasourceUrl = assemble.getDatasourceUrl(); + if (!datasourceUrl.contains(Constant.timeZone)) { + datasourceUrl += "&serverTimezone=Asia/Shanghai"; + } + datasourceUrl += "&nullCatalogMeansCurrent=true"; + + connection = DriverManager.getConnection(datasourceUrl,properties); return connection; } catch (Exception e) { e.printStackTrace(); @@ -72,6 +91,16 @@ } } + + public boolean testDatasource(String key,String driveClass,String url,String username,String password){ + try { + Class.forName(driveClass); + DriverManager.getConnection(url, username, password); + return true; + } catch (Exception e) { + return false; + } + } @Override public List<String> getFieldsByTableName(String parentId, String tableName) { SysAssembleDb assemble = this.selectById(parentId); @@ -139,7 +168,13 @@ } } } - + /** + * + * @description: 娴嬭瘯杩炴帴 + * @param parentId 姹囬泦id + * @return: 鏄惁娴嬭瘯杩炴帴鎴愬姛 + * + */ @Override public boolean testConnection(String parentId) { Connection connection = null; @@ -165,7 +200,14 @@ } } - + /** + * + * @description: 娴嬭瘯sql鏄惁璇硶姝e父 + * @param sql sql + * @param parentId 姹囬泦id + * @return: 璇硶鏄惁姝g‘ + * + */ @Override public boolean testSql(String parentId, String sql) { Connection connection = null; @@ -199,7 +241,14 @@ } } } - + /** + * + * @description: 閫氳繃sql 鑾峰彇sql 鍐呬娇鐢ㄧ殑瀛楁 + * @param sql sql + * @param parentId 姹囬泦id + * @return: 瀛楁鍒楄〃 + * + */ @Override public List<String> getFieldsBySql(String parentId, String sql) { Connection connection = null; -- Gitblit v1.8.0