public class SysDatabase {
private String type;//数据库类型 如 MYSQL,SQLSERVER,ORACLE
private String ip;//ip地址 如 localhost
private String port;//端口号 如 3306,8080
private String sid;//数据库名称
private String userName;//用户名
private String password;//密码
}
/**
* Description : 连接数据库
*
* @param sysDatabase
* @return : java.sql.Connection
* @date : 2018-10-12 10:26
* @author : PZG
*/
public static Connection getConn(SysDatabase sysDatabase) {
try {
StringBuffer buffer = null;
String driverClass = null;
String type = sysDatabase.getType();//数据库类型 如 MYSQL,SQLSERVER,ORACLE
String ip = sysDatabase.getIp();//ip地址 如 localhost
String port = sysDatabase.getPort();//端口号 如 8080
String sid = sysDatabase.getSid();//数据库名称
String username = sysDatabase.getUserName();//用户名
String password = sysDatabase.getPassword();//密码
if ("MYSQL".equals(type.toUpperCase())) {
//MYSQL 连接
driverClass = "com.mysql.jdbc.Driver";
buffer = new StringBuffer();
buffer.append("jdbc:mysql://").append(ip).append(":").append(port)
.append("/").append(sid);
} else if ("SQLSERVER".equals(type.toUpperCase())) {
//SQLSERVER 连接
driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
buffer = new StringBuffer();
buffer.append("jdbc:sqlserver://").append(ip).append(":").append(port)
.append("; DatabaseName=").append(sid);
} else if ("ORACLE".equals(type.toUpperCase())) {
//ORACLE 连接
driverClass = "oracle.jdbc.driver.OracleDriver";
buffer = new StringBuffer();
buffer.append("jdbc:oracle:thin:@").append(ip).append(":").append(port).
append(":").append(sid);
}
Class.forName(driverClass);
DriverManager.setLoginTimeout(2);
Connection conn = DriverManager.getConnection(buffer.toString(), username, password);
buffer.setLength(0);
return conn;
} catch (Exception e) {
e.printStackTrace();
return null;
//返回空值表示连接失败
}
}