Commit e8c7a7bc by 梁家彪

1111

parent 655eaa65
...@@ -95,7 +95,8 @@ public class CommonQueryController { ...@@ -95,7 +95,8 @@ public class CommonQueryController {
@ApiOperation("运行查询") @ApiOperation("运行查询")
@PostMapping("/run") @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)); return ResultVo.success(commonQueryService.run(body));
} }
......
package com.zq.dataoperation.runner; package com.zq.dataoperation.runner;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.zq.common.exception.BusinessException; import com.zq.common.exception.BusinessException;
import com.zq.dataoperation.entity.QueryDb; import com.zq.dataoperation.entity.QueryDb;
...@@ -25,7 +26,7 @@ public class DatabaseRunner implements ApplicationRunner { ...@@ -25,7 +26,7 @@ public class DatabaseRunner implements ApplicationRunner {
@Resource @Resource
private CommonQueryService service; private CommonQueryService service;
private Map<Integer, DruidDataSource> dataSourceMap = new HashMap<>(); private Map<Integer, DruidPooledConnection> connectionMap = new HashMap<>();
@Override @Override
public void run(ApplicationArguments args) throws SQLException { public void run(ApplicationArguments args) throws SQLException {
...@@ -55,16 +56,20 @@ public class DatabaseRunner implements ApplicationRunner { ...@@ -55,16 +56,20 @@ public class DatabaseRunner implements ApplicationRunner {
druidDataSource.setUsername(ds.getUsername()); druidDataSource.setUsername(ds.getUsername());
druidDataSource.setPassword(ds.getPassword()); druidDataSource.setPassword(ds.getPassword());
druidDataSource.init(); druidDataSource.init();
dataSourceMap.put(ds.getId(), druidDataSource); connectionMap.put(ds.getId(), druidDataSource.getConnection());
} }
ConnectionUtil.set(dataSourceMap); ConnectionUtil.set(connectionMap);
log.info("成功加载数据库:{}个", dataSourceMap.size()); log.info("成功加载数据库:{}个", connectionMap.size());
} }
@PreDestroy @PreDestroy
public void onClose(){ public void onClose(){
for (DruidDataSource dataSource : dataSourceMap.values()) { for (DruidPooledConnection connection : connectionMap.values()) {
dataSource.close(); try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
} }
} }
} }
\ No newline at end of file
package com.zq.dataoperation.utils; package com.zq.dataoperation.utils;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidPooledConnection;
import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map; import java.util.Map;
public class ConnectionUtil { public class ConnectionUtil {
private static Map<Integer, DruidDataSource> dataSourceMap; private static Map<Integer, DruidPooledConnection> connectionMap;
public static void set(Map<Integer, DruidDataSource> map) { public static void set(Map<Integer, DruidPooledConnection> map) {
dataSourceMap = map; connectionMap = map;
} }
public static Connection getConnection(Integer id){ public static Connection get(Integer id){
try { return connectionMap.get(id).getConnection();
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) throws SQLException { 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