|
@@ -10,20 +10,21 @@ import com.xzl.web.model.dataGovernance.dto.SysDataLogQueryParam;
|
|
|
import com.xzl.web.model.dataGovernance.dto.TableDataQueryParam;
|
|
|
import com.xzl.web.model.dataGovernance.entity.*;
|
|
|
import com.xzl.web.service.DataGovernanceService;
|
|
|
+import com.xzl.web.utils.SqlHelper;
|
|
|
import org.apache.ibatis.io.Resources;
|
|
|
import org.apache.ibatis.jdbc.ScriptRunner;
|
|
|
-import org.mybatis.spring.SqlSessionTemplate;
|
|
|
+import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import javax.annotation.PostConstruct;
|
|
|
import java.io.*;
|
|
|
import java.nio.charset.Charset;
|
|
|
-import java.sql.Connection;
|
|
|
-import java.sql.Driver;
|
|
|
-import java.sql.DriverManager;
|
|
|
+import java.sql.*;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -34,9 +35,12 @@ public class DataGovernanceServiceImpl implements DataGovernanceService {
|
|
|
@Autowired
|
|
|
private DataGovernanceMapper dataGovernanceMapper;
|
|
|
|
|
|
+ private Connection connection;
|
|
|
+
|
|
|
+ private Map<String,String> driver;
|
|
|
|
|
|
@Autowired
|
|
|
- private SqlSessionTemplate sqlSessionTemplate;
|
|
|
+ private SqlSessionFactory sqlSessionFactory;
|
|
|
|
|
|
@Value("${spring.datasource.druid.master.url}")
|
|
|
private String url;
|
|
@@ -50,9 +54,41 @@ public class DataGovernanceServiceImpl implements DataGovernanceService {
|
|
|
@Value("${sqlFilePath}")
|
|
|
private String sqlFilePath;
|
|
|
|
|
|
+ private static final String NAME_SPACE="com.xzl.web.mapper.DataGovernanceMapper";
|
|
|
+
|
|
|
+
|
|
|
+ @PostConstruct
|
|
|
+ private void init() {
|
|
|
+ DatabaseConfig databaseConfig = dataGovernanceMapper.getDatabaseConfig("2");
|
|
|
+ this.driverInit();
|
|
|
+ try {
|
|
|
+ Class.forName(driver.get(databaseConfig.getDatabaseType()));
|
|
|
+ this.connection=DriverManager.getConnection(databaseConfig.getUrl(),databaseConfig.getUsername(), databaseConfig.getPassword());
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public List<DatabaseInfo> getDatabaseList() {
|
|
|
+
|
|
|
+ String sql = SqlHelper.getNamespaceSql(sqlSessionFactory, NAME_SPACE+".getDatabaseList", null);
|
|
|
+ List<DatabaseInfo> data=new ArrayList<>();
|
|
|
+ try {
|
|
|
+ Statement statement = this.connection.createStatement();
|
|
|
+ ResultSet resultSet = statement.executeQuery(sql);
|
|
|
+ while (resultSet.next()) {
|
|
|
+ DatabaseInfo databaseInfo=new DatabaseInfo();
|
|
|
+ databaseInfo.getClass().getFields();
|
|
|
+ databaseInfo.setDatabaseName(resultSet.getString(1));
|
|
|
+ databaseInfo.setCharacterName(resultSet.getString(2));
|
|
|
+ databaseInfo.setCollationName(resultSet.getString(3));
|
|
|
+ data.add(databaseInfo);
|
|
|
+ }
|
|
|
+ System.out.println(data);
|
|
|
+ } catch (SQLException throwable) {
|
|
|
+ throwable.printStackTrace();
|
|
|
+ }
|
|
|
return dataGovernanceMapper.getDatabaseList();
|
|
|
}
|
|
|
|
|
@@ -362,4 +398,9 @@ public class DataGovernanceServiceImpl implements DataGovernanceService {
|
|
|
private Boolean verifySQLName(String text) {
|
|
|
return text.isEmpty() || !text.matches("^[a-zA-Z_][a-zA-Z0-9_]{0,63}$");
|
|
|
}
|
|
|
+
|
|
|
+ private void driverInit(){
|
|
|
+ this.driver=new HashMap<>();
|
|
|
+ this.driver.put("mysql","com.mysql.cj.jdbc.Driver");
|
|
|
+ }
|
|
|
}
|