java.sql.Connection类有两个方法可以判断连接是否有效
一个是java.sql.Connection#isValid
一个是java.sql.Connection#isClosed
这两个方法的应用场景区别还是很大的
首先看isClosed方法
org.apache.commons.dbcp2.DelegatingConnection#isClosed
这方法是判断java对象Connection对象是否是连接状态,而不是到数据库的连接是否正常。比如数据库宕机,Connection对象的状态可能还是连接状态isClosed=false,这时候如果通过Connection对象进行一次数据库操作,这时Connection对象才能真正判断出数据库异常,再次调用isClosed返回的才是true。
而org.apache.commons.dbcp2.DelegatingConnection#isValid
首先会调用isClose方法判断连接状态
然后进行一次尝试连接数据库操作判断数据库是否正常响应。
org.mariadb.jdbc.MariaDbConnection#isValid
org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol#isValid
因此可以知道,isClosed是true,isValid一定是false,isClosed是false时,isValid不一定是true。
java.sql.Connection类有两个方法可以判断连接是否有效一个是java.sql.Connection#isValid一个是java.sql.Connection#isClosed这两个方法的应用场景区别还是很大的首先看isClosed方法org.apache.commons.dbcp2.DelegatingConnection#isClosed这方法是判断java对象Connection对象是否是连接状态,而不是到数据库的连接是否正常。比如数据库宕机,Connection对象的状
如果先访问关系型
数据库
再访问Hive,那么没问题;
如果先访问Hive,再访问关系型
数据库
,报错:
java
.lang.IllegalArgumentException: Bad URL format
try { // 排除
连接
不上的错误
Class.forName(driveClass);
Driver...
不需要远程
连接
工具,直接用代码main
方法
快速
测试
某一
数据库连接
是否
可用的代码:
import
java
.sql.Connection;
import
java
.sql.DriverManager;
* @Author: chuxia0811
* @Date: 2021/9/15 22:50
* @Description :
public class JDBCTest {
// 定义
数据库
驱动名称
private static String driverName =
监控多个
数据库
的时候遍历拼接一下
数据库
路径、用户名密码就好了
import
java
.sql.Connection;
import
java
.sql.DriverManager;
import
java
.sql.SQLException;
import org.junit.Test;
public class JDBCTest {
@Test
public void JDBCAll() throws ClassNotFoundException, SQLException
很快的
测试
,复制代码,更改一下
数据库
名、username、password就好了
import
java
.sql.Connection;
import
java
.sql.DriverManager;
import
java
.sql.SQLException;
import org.junit.Test;
public class JDbctest {
@Test
public void jdbcall() throws ClassNotFoundException, SQLException{
一、
连接
mysql
数据库
:
步骤一:在eclipse下面建一个项目,我的是JDBC_Test,
步骤二:选中项目名称,右键选择Build Path->Configure Build Path….
步骤三:进入
Java
Build Path 选择Libraies,如下图所示
步骤四:选择Add External JARs.. 如下图
步骤五:找到已经下载好的MySQL驱...