MYSQL,SQLSERVER,ORACLE 資料庫連線
阿新 • • 發佈:2018-12-26
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; //返回空值表示連線失敗 } }