1. 程式人生 > >MYSQL,SQLSERVER,ORACLE 資料庫連線

MYSQL,SQLSERVER,ORACLE 資料庫連線

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;
      //返回空值表示連線失敗
    }
}