Java基础面试题
001什么是JDBC?
JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以⽤它来操作关系型数据库。JDBC接⼝及相关类在java.sql 包和javax.sql包⾥。我们可以⽤它来连接数据库,执⾏SQL查询,存储过程,并处理返回的结果。
JDBC接⼝让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。
002如何理解Class.forName(com.mysql.cj.jdbc.Driver)?
1.com.mysql.cj.jdbc.Driver是Driver驱动所在的位置,加载驱动
2.Class.forName()是一个反射,但是他没有返回一个Class对象,因为我们不需要;
这是Driver的代码:
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
public Driver() throws SQLException {
}
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
}
它除了构造方法,就只有一个静态代码块,当我们反射进行的时候,这个类就开始初始化,他的静态代码块内容就已经被执行了,我们真正需要的是DriverManager.registerDriver(new Driver());这一行代码