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;
      //返回空值表示连接失败
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41991665/article/details/85260075