public static QueryRunner getQueryRunnerByDbConfig(String productName, Integer isSSH, Integer type) {
// 判断是否是ssh连接数据库:1 是SSH连接 0 不是ssh连接
List<DBconfig> dbConfiglist = queryDBconfigS(isSSH, productName, type);
if (dbConfiglist.size() > 0) {
for (DBconfig dBconfig : dbConfiglist) {
String ruser = dBconfig.getRuser();
String rpassword = dBconfig.getRpassword();
String rhost = dBconfig.getRhost();
int rport = dBconfig.getRport();
String dbname = dBconfig.getDbname().trim();
if (isSSH > 0 && isSSH == 1) {
String shost = dBconfig.getShost();
String suser = dBconfig.getSuser();
String spassword = dBconfig.getSpassword().trim();
int sport = dBconfig.getSport();
int port = dBconfig.getPort();
// ssh连接
try {
JSch jsch = new JSch();
Session session = jsch.getSession(suser, shost, sport);
session.setPassword(spassword);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
int assinged_port = session.setPortForwardingL(port, rhost, rport);
System.out.println("localhost:" + assinged_port + " -> " + rhost + ":" + rport);
} catch (Exception e) {
System.out.println(e);
}
if (DBUtil.dataSource == null) {
BasicDataSource dbcpDataSource = new BasicDataSource();
String url = "jdbc:mysql://localhost:" + port + "/" + dbname + "?useUnicode=true&characterEncoding=UTF-8";
dbcpDataSource.setUrl(url);
dbcpDataSource.setDriverClassName("com.mysql.jdbc.Driver");
dbcpDataSource.setUsername(ruser);
dbcpDataSource.setPassword(rpassword);
dbcpDataSource.setDefaultAutoCommit(true);
dbcpDataSource.setMaxActive(100);
dbcpDataSource.setMaxIdle(30);
dbcpDataSource.setMaxWait(500);
DBUtil.dataSource = (DataSource) dbcpDataSource;
}
} else {
System.out.println("非SSSH连接");
if (DBUtil.dataSource == null) {
BasicDataSource dbcpDataSource = new BasicDataSource();
String url = "jdbc:mysql://" + rhost + ":" + rport + "/" + dbname + "?useUnicode=true&characterEncoding=UTF-8";
dbcpDataSource.setUrl(url);
dbcpDataSource.setDriverClassName("com.mysql.jdbc.Driver");
dbcpDataSource.setUsername(ruser);
dbcpDataSource.setPassword(rpassword);
dbcpDataSource.setDefaultAutoCommit(true);
dbcpDataSource.setMaxActive(100);
dbcpDataSource.setMaxIdle(30);
dbcpDataSource.setMaxWait(500);
DBUtil.dataSource = (DataSource) dbcpDataSource;
}
}
}
} else {
System.out.println("你填入的数据库配置不存在!!!");
}
return new QueryRunner(DBUtil.dataSource);
}
// 判断是否是ssh连接数据库:1 是SSH连接 0 不是ssh连接
List<DBconfig> dbConfiglist = queryDBconfigS(isSSH, productName, type);
if (dbConfiglist.size() > 0) {
for (DBconfig dBconfig : dbConfiglist) {
String ruser = dBconfig.getRuser();
String rpassword = dBconfig.getRpassword();
String rhost = dBconfig.getRhost();
int rport = dBconfig.getRport();
String dbname = dBconfig.getDbname().trim();
if (isSSH > 0 && isSSH == 1) {
String shost = dBconfig.getShost();
String suser = dBconfig.getSuser();
String spassword = dBconfig.getSpassword().trim();
int sport = dBconfig.getSport();
int port = dBconfig.getPort();
// ssh连接
try {
JSch jsch = new JSch();
Session session = jsch.getSession(suser, shost, sport);
session.setPassword(spassword);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
int assinged_port = session.setPortForwardingL(port, rhost, rport);
System.out.println("localhost:" + assinged_port + " -> " + rhost + ":" + rport);
} catch (Exception e) {
System.out.println(e);
}
if (DBUtil.dataSource == null) {
BasicDataSource dbcpDataSource = new BasicDataSource();
String url = "jdbc:mysql://localhost:" + port + "/" + dbname + "?useUnicode=true&characterEncoding=UTF-8";
dbcpDataSource.setUrl(url);
dbcpDataSource.setDriverClassName("com.mysql.jdbc.Driver");
dbcpDataSource.setUsername(ruser);
dbcpDataSource.setPassword(rpassword);
dbcpDataSource.setDefaultAutoCommit(true);
dbcpDataSource.setMaxActive(100);
dbcpDataSource.setMaxIdle(30);
dbcpDataSource.setMaxWait(500);
DBUtil.dataSource = (DataSource) dbcpDataSource;
}
} else {
System.out.println("非SSSH连接");
if (DBUtil.dataSource == null) {
BasicDataSource dbcpDataSource = new BasicDataSource();
String url = "jdbc:mysql://" + rhost + ":" + rport + "/" + dbname + "?useUnicode=true&characterEncoding=UTF-8";
dbcpDataSource.setUrl(url);
dbcpDataSource.setDriverClassName("com.mysql.jdbc.Driver");
dbcpDataSource.setUsername(ruser);
dbcpDataSource.setPassword(rpassword);
dbcpDataSource.setDefaultAutoCommit(true);
dbcpDataSource.setMaxActive(100);
dbcpDataSource.setMaxIdle(30);
dbcpDataSource.setMaxWait(500);
DBUtil.dataSource = (DataSource) dbcpDataSource;
}
}
}
} else {
System.out.println("你填入的数据库配置不存在!!!");
}
return new QueryRunner(DBUtil.dataSource);
}