This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-argus-service/src/main/java/com/nis/util/HiveDataSource.java
zhangdongxu 13acafd43d 上传代码
2017-12-19 14:55:52 +08:00

58 lines
2.5 KiB
Java

package com.nis.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.jolbox.bonecp.BoneCPDataSource;
public class HiveDataSource {
private final static Logger logger = Logger.getLogger(HiveDataSource.class);
static Connection conn = null;
static ResultSet rsA = null;
static Statement stA = null;
static ResultSet rsB = null;
static Statement stB = null;
public static ResultSet query(String sql, String searchActiveSys) throws Exception {
if (null != searchActiveSys && searchActiveSys.equals("4")) {// A版数据库
logger.info("开始连接数据中心A版日志库--------------------------");
if (conn == null || conn.isClosed()) {
ApplicationContext ct = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml");
BoneCPDataSource datasource = (BoneCPDataSource) ct.getBean("HiveADataSource");
conn = datasource.getConnection();
}
logger.info("连接数据中心A版日志库成功--------------------------");
stA = conn.createStatement();
String hiveAName = "use " + Constants.HIVEADBNAME;
// stA.execute("use xa_dfbhit_p_hive");
stA.execute(hiveAName);
logger.info("开始执行查询数据中心A版日志库操作--------------------------" + sql);
rsA = stA.executeQuery(sql);
logger.info("执行查询数据中心A版日志库成功--------------------------");
return rsA;
} else {// 目前默认B版数据库,后期增加C版数据库
logger.info("开始连接数据中心B版日志库--------------------------");
if (conn == null || conn.isClosed()) {
ApplicationContext ct = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml");
BoneCPDataSource datasource = (BoneCPDataSource) ct.getBean("HiveBDataSource");
conn = datasource.getConnection();
}
logger.info("连接数据中心B版日志库成功--------------------------");
stB = conn.createStatement();
String hiveBName = "use " + Constants.HIVEBDBNAME;
// stB.execute("use xa_z2_mesalog_hive");
stB.execute(hiveBName);
logger.info("开始执行查询数据中心B版日志库操作--------------------------" + sql);
rsB = stB.executeQuery(sql);
logger.info("执行查询数据中心B版日志库成功--------------------------");
return rsB;
}
}
}