Java基础面试题附带答案(一)

本文详细解答了Java基础面试中的JDBC相关问题,包括JDBC的作用、Class.forName()的原理、DriverManager的功能、数据库连接的6步流程、Statement与PreparedStatement的区别、事务处理以及数据库连接池的工作原理等核心知识点。此外,还探讨了反射在Java中的应用及其重要性。
摘要由CSDN通过智能技术生成

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());这一行代码

003JDBC的DriverManager是用来做什么的?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值