Commit e8c7a7bc by 梁家彪

1111

parent 655eaa65
......@@ -95,7 +95,8 @@ public class CommonQueryController {
@ApiOperation("运行查询")
@PostMapping("/run")
public ResultVo run(@RequestBody Map<String, Object> body) {
public ResultVo run(@RequestBody Map<String, Object> body) throws Exception {
System.out.println(body);
return ResultVo.success(commonQueryService.run(body));
}
......
package com.zq.dataoperation.runner;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.zq.common.exception.BusinessException;
import com.zq.dataoperation.entity.QueryDb;
......@@ -25,7 +26,7 @@ public class DatabaseRunner implements ApplicationRunner {
@Resource
private CommonQueryService service;
private Map<Integer, DruidDataSource> dataSourceMap = new HashMap<>();
private Map<Integer, DruidPooledConnection> connectionMap = new HashMap<>();
@Override
public void run(ApplicationArguments args) throws SQLException {
......@@ -55,16 +56,20 @@ public class DatabaseRunner implements ApplicationRunner {
druidDataSource.setUsername(ds.getUsername());
druidDataSource.setPassword(ds.getPassword());
druidDataSource.init();
dataSourceMap.put(ds.getId(), druidDataSource);
connectionMap.put(ds.getId(), druidDataSource.getConnection());
}
ConnectionUtil.set(dataSourceMap);
log.info("成功加载数据库:{}个", dataSourceMap.size());
ConnectionUtil.set(connectionMap);
log.info("成功加载数据库:{}个", connectionMap.size());
}
@PreDestroy
public void onClose(){
for (DruidDataSource dataSource : dataSourceMap.values()) {
dataSource.close();
for (DruidPooledConnection connection : connectionMap.values()) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
\ No newline at end of file
package com.zq.dataoperation.utils;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import com.alibaba.druid.pool.DruidPooledConnection;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
public class ConnectionUtil {
private static Map<Integer, DruidDataSource> dataSourceMap;
private static Map<Integer, DruidPooledConnection> connectionMap;
public static void set(Map<Integer, DruidDataSource> map) {
dataSourceMap = map;
public static void set(Map<Integer, DruidPooledConnection> map) {
connectionMap = map;
}
public static Connection getConnection(Integer id){
try {
return dataSourceMap.get(id).getConnection().getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static JdbcTemplate getJdbcTemplate(Integer id){
return new JdbcTemplate(dataSourceMap.get(id));
public static Connection get(Integer id){
return connectionMap.get(id).getConnection();
}
public static Connection get(Integer id) throws SQLException {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment