修改查询语句
parent
0737286f64
commit
8bf82a4012
|
@ -1,13 +1,13 @@
|
||||||
package com.muyu.cloud.etl.mysql;
|
package com.muyu.cloud.etl.mysql;
|
||||||
|
|
||||||
|
|
||||||
import com.muyu.Hikari.HikariPool;
|
|
||||||
import com.muyu.cloud.etl.service.SourceService;
|
import com.muyu.cloud.etl.service.SourceService;
|
||||||
import com.muyu.common.core.utils.SpringUtils;
|
import com.muyu.common.core.utils.SpringUtils;
|
||||||
import com.muyu.data.base.BaseDataAbsSource;
|
import com.muyu.data.base.BaseDataAbsSource;
|
||||||
import com.muyu.domain.DataValue;
|
import com.muyu.domain.DataValue;
|
||||||
import com.muyu.domain.Source;
|
import com.muyu.domain.Source;
|
||||||
import com.muyu.domain.enums.DataType;
|
import com.muyu.domain.enums.DataType;
|
||||||
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
@ -79,36 +79,40 @@ public class MySqlDataSource extends BaseDataAbsSource {
|
||||||
// }
|
// }
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// 第一种方法
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataValue[][] getRows () {
|
public DataValue[][] getRows () {
|
||||||
|
|
||||||
MySqlQuery query = getQuery();
|
MySqlQuery query = getQuery();
|
||||||
Integer one = Math.toIntExact(query.getOne());
|
Integer one = Math.toIntExact(query.getOne());
|
||||||
Integer two = query.getTwo();
|
Integer two = query.getTwo();
|
||||||
String sql = query.getSql();
|
String sql = query.getSql();
|
||||||
Long dataSourceId = query.getDataSourceId();
|
Long dataSourceId = query.getDataSourceId();
|
||||||
ConcurrentHashMap<Integer, DataValue> map = new ConcurrentHashMap<>();
|
ConcurrentHashMap<Integer, DataValue> map = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
Source dataSources = sourceService.getById(dataSourceId);
|
Source dataSources = sourceService.getById(dataSourceId);
|
||||||
|
|
||||||
HikariDataSource hikariDataSource = HikariPool.getHikariDataSource(dataSources);
|
HikariConfig hikariConfig = new HikariConfig();
|
||||||
|
hikariConfig.setPoolName("HikariCP 连接池");
|
||||||
Connection conn = null;
|
hikariConfig.setDriverClassName(dataSources.getDriverName());
|
||||||
// try {
|
hikariConfig.setJdbcUrl(dataSources.getUrl()); // 修正这里
|
||||||
//
|
hikariConfig.setUsername(dataSources.getUsername());
|
||||||
// } catch (SQLException e) {
|
hikariConfig.setPassword(dataSources.getPassword());
|
||||||
// throw new RuntimeException(e);
|
hikariConfig.setMinimumIdle(2);
|
||||||
// }
|
hikariConfig.setMaximumPoolSize(10);
|
||||||
log.info("one------------"+one+"------------two"+two);
|
|
||||||
|
|
||||||
DataValue[][] dataValues = new DataValue[one][two];
|
DataValue[][] dataValues = new DataValue[one][two];
|
||||||
try {
|
|
||||||
conn = hikariDataSource.getConnection();
|
|
||||||
|
|
||||||
|
HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
|
||||||
|
try {
|
||||||
|
Connection conn = hikariDataSource.getConnection();
|
||||||
PreparedStatement preparedStatement = conn.prepareStatement(sql);
|
PreparedStatement preparedStatement = conn.prepareStatement(sql);
|
||||||
ResultSet resultSet = preparedStatement.executeQuery();
|
ResultSet resultSet = preparedStatement.executeQuery();
|
||||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||||
int columnCount = metaData.getColumnCount();
|
int columnCount = metaData.getColumnCount();
|
||||||
int c = 1;
|
int c = 0;
|
||||||
while (resultSet.next()){
|
while (resultSet.next()){
|
||||||
for (int i = 1; i <= columnCount; i++) {
|
for (int i = 1; i <= columnCount; i++) {
|
||||||
if (resultSet.isFirst()){
|
if (resultSet.isFirst()){
|
||||||
|
@ -129,13 +133,8 @@ public class MySqlDataSource extends BaseDataAbsSource {
|
||||||
.type(DataType.findBySqlType(columnTypeName))
|
.type(DataType.findBySqlType(columnTypeName))
|
||||||
.build();
|
.build();
|
||||||
map.put(i,build);
|
map.put(i,build);
|
||||||
|
|
||||||
// if (c <= one && i <= columnCount) {
|
|
||||||
// dataValues[c - 1][i - 1] = build;
|
|
||||||
// }
|
|
||||||
dataValues[c][i-1]=build;
|
dataValues[c][i-1]=build;
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
DataValue build = DataValue.builder()
|
DataValue build = DataValue.builder()
|
||||||
.key(metaData.getColumnName(i))
|
.key(metaData.getColumnName(i))
|
||||||
.label(map.get(i).getLabel())
|
.label(map.get(i).getLabel())
|
||||||
|
@ -143,20 +142,15 @@ public class MySqlDataSource extends BaseDataAbsSource {
|
||||||
.type(map.get(i).getType())
|
.type(map.get(i).getType())
|
||||||
.build();
|
.build();
|
||||||
dataValues[c][i-1]=build;
|
dataValues[c][i-1]=build;
|
||||||
// if (c <= one && i <= columnCount) {
|
|
||||||
// dataValues[c - 1][i - 1] = build;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if (c <= one) {
|
|
||||||
// c++;
|
|
||||||
// }
|
|
||||||
c++;
|
c++;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}finally {
|
}finally {
|
||||||
close(hikariDataSource);
|
close(hikariDataSource); // 关闭数据源
|
||||||
}
|
}
|
||||||
|
|
||||||
return dataValues;
|
return dataValues;
|
||||||
|
@ -169,6 +163,98 @@ public class MySqlDataSource extends BaseDataAbsSource {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 第一种方法
|
||||||
|
// @Override
|
||||||
|
// public DataValue[][] getRows () {
|
||||||
|
// MySqlQuery query = getQuery();
|
||||||
|
// Integer one = Math.toIntExact(query.getOne());
|
||||||
|
// Integer two = query.getTwo();
|
||||||
|
// String sql = query.getSql();
|
||||||
|
// Long dataSourceId = query.getDataSourceId();
|
||||||
|
// ConcurrentHashMap<Integer, DataValue> map = new ConcurrentHashMap<>();
|
||||||
|
// Source dataSources = sourceService.getById(dataSourceId);
|
||||||
|
//
|
||||||
|
// HikariDataSource hikariDataSource = HikariPool.getHikariDataSource(dataSources);
|
||||||
|
//
|
||||||
|
// Connection conn = null;
|
||||||
|
//// try {
|
||||||
|
////
|
||||||
|
//// } catch (SQLException e) {
|
||||||
|
//// throw new RuntimeException(e);
|
||||||
|
//// }
|
||||||
|
// log.info("one------------"+one+"------------two"+two);
|
||||||
|
//
|
||||||
|
// DataValue[][] dataValues = new DataValue[one][two];
|
||||||
|
// try {
|
||||||
|
// conn = hikariDataSource.getConnection();
|
||||||
|
//
|
||||||
|
// PreparedStatement preparedStatement = conn.prepareStatement(sql);
|
||||||
|
// ResultSet resultSet = preparedStatement.executeQuery();
|
||||||
|
// ResultSetMetaData metaData = resultSet.getMetaData();
|
||||||
|
// int columnCount = metaData.getColumnCount();
|
||||||
|
// int c = 1;
|
||||||
|
// while (resultSet.next()){
|
||||||
|
// for (int i = 1; i <= columnCount; i++) {
|
||||||
|
// if (resultSet.isFirst()){
|
||||||
|
// String columnTypeName = metaData.getColumnTypeName(i);
|
||||||
|
// DatabaseMetaData metaDataColumns = conn.getMetaData();
|
||||||
|
// ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
|
||||||
|
// String remarks =null;
|
||||||
|
//
|
||||||
|
// while (columns.next()){
|
||||||
|
// remarks = columns.getString("REMARKS");
|
||||||
|
//
|
||||||
|
// log.info("字段备注:"+remarks);
|
||||||
|
// }
|
||||||
|
// DataValue build = DataValue.builder()
|
||||||
|
// .key(metaData.getColumnName(i))
|
||||||
|
// .label(remarks)
|
||||||
|
// .value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
|
||||||
|
// .type(DataType.findBySqlType(columnTypeName))
|
||||||
|
// .build();
|
||||||
|
// map.put(i,build);
|
||||||
|
//
|
||||||
|
//// if (c <= one && i <= columnCount) {
|
||||||
|
//// dataValues[c - 1][i - 1] = build;
|
||||||
|
//// }
|
||||||
|
// dataValues[c][i-1]=build;
|
||||||
|
// }else {
|
||||||
|
//
|
||||||
|
// DataValue build = DataValue.builder()
|
||||||
|
// .key(metaData.getColumnName(i))
|
||||||
|
// .label(map.get(i).getLabel())
|
||||||
|
// .value(resultSet.getObject(i, map.get(i).getType().getTargetType()))
|
||||||
|
// .type(map.get(i).getType())
|
||||||
|
// .build();
|
||||||
|
// dataValues[c][i-1]=build;
|
||||||
|
//// if (c <= one && i <= columnCount) {
|
||||||
|
//// dataValues[c - 1][i - 1] = build;
|
||||||
|
//// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//// if (c <= one) {
|
||||||
|
//// c++;
|
||||||
|
//// }
|
||||||
|
// c++;
|
||||||
|
// }
|
||||||
|
// } catch (SQLException e) {
|
||||||
|
// throw new RuntimeException(e);
|
||||||
|
// }finally {
|
||||||
|
// close(hikariDataSource);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return dataValues;
|
||||||
|
// }
|
||||||
|
// private static void close(HikariDataSource dataSource) {
|
||||||
|
// if (dataSource != null) {
|
||||||
|
// dataSource.close();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//第一种方法
|
||||||
|
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// public DataValue[][] getRows() {
|
// public DataValue[][] getRows() {
|
||||||
// MySqlQuery query = getQuery();
|
// MySqlQuery query = getQuery();
|
||||||
|
|
Loading…
Reference in New Issue