oracle或mysql或SQLSERVER或POSTGRESQL用DriverManager设置数据库连接超时

Oracle用Properties 方式:参数oracle.net.CONNECT_TIMEOUT,单位ms

 Properties props = new Properties();
 props.put("oracle.net.CONNECT_TIMEOUT","5000");
 Connection  connection = DriverManager.getConnection(url, props);

MYSQL用url方式:参数是connectTimeout,单位是ms

jdbc:mysql://" + serviceIp + ":" + serviceProt +
                            "/" + serviceName + "?serverTimezone=GMT%2B8&useUnicode="
                            		+ "true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull" +
                            "&connectTimeout=5000

Connection connection = DriverManager.getConnection(url, userName,PassWord);                            

SQLSERVER用url方式loginTimeout,单位是s

jdbc:sqlserver://" + serviceIp + ":" + serviceProt + ";DatabaseName=" + serviceName+
                    ";loginTimeout=5
                    
Connection connection = DriverManager.getConnection(url, userName, PassWord);              

POSTGRESQL用url方式connectTimeout,单位是s

jdbc:postgresql://" + serviceIp + ":" + serviceProt + "/" + serviceName+"?connectTimeout=5
Connection connection = DriverManager.getConnection(url, userName, PassWord);
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java中的JDBC来实现创建不同数据库类型的数据源。以下是一个示例代码: ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DataSourceCreator { private static final String MYSQL_DRIVER_CLASS = "com.mysql.jdbc.Driver"; private static final String ORACLE_DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver"; private static final String SQLSERVER_DRIVER_CLASS = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String POSTGRESQL_DRIVER_CLASS = "org.postgresql.Driver"; private static final String MYSQL_URL = "jdbc:mysql://localhost:3306/mydatabase"; private static final String ORACLE_URL = "jdbc:oracle:thin:@localhost:1521:mydatabase"; private static final String SQLSERVER_URL = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase"; private static final String POSTGRESQL_URL = "jdbc:postgresql://localhost:5432/mydatabase"; private static final String MYSQL_USERNAME = "myusername"; private static final String ORACLE_USERNAME = "myusername"; private static final String SQLSERVER_USERNAME = "myusername"; private static final String POSTGRESQL_USERNAME = "myusername"; private static final String MYSQL_PASSWORD = "mypassword"; private static final String ORACLE_PASSWORD = "mypassword"; private static final String SQLSERVER_PASSWORD = "mypassword"; private static final String POSTGRESQL_PASSWORD = "mypassword"; public static Connection createDataSource(String databaseType) throws SQLException, ClassNotFoundException { String driverClass; String url; String username; String password; switch (databaseType) { case "mysql": driverClass = MYSQL_DRIVER_CLASS; url = MYSQL_URL; username = MYSQL_USERNAME; password = MYSQL_PASSWORD; break; case "oracle": driverClass = ORACLE_DRIVER_CLASS; url = ORACLE_URL; username = ORACLE_USERNAME; password = ORACLE_PASSWORD; break; case "sqlserver": driverClass = SQLSERVER_DRIVER_CLASS; url = SQLSERVER_URL; username = SQLSERVER_USERNAME; password = SQLSERVER_PASSWORD; break; case "postgresql": driverClass = POSTGRESQL_DRIVER_CLASS; url = POSTGRESQL_URL; username = POSTGRESQL_USERNAME; password = POSTGRESQL_PASSWORD; break; default: throw new IllegalArgumentException("Invalid database type: " + databaseType); } Class.forName(driverClass); Connection connection = DriverManager.getConnection(url, username, password); return connection; } } ``` 以上代码会根据传入的参数 `databaseType` 来创建对应数据库类型的数据源,并返回一个 `Connection` 对象。可以通过以下代码来调用: ``` try { Connection connection = DataSourceCreator.createDataSource("mysql"); // Do something with the connection... } catch (SQLException | ClassNotFoundException e) { e.printStackTrace(); } ``` 需要注意的是,以上代码仅仅是创建了一个数据源,还需要根据具体需求使用该数据源来进行数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值