JDBC基础知识
2024-07-21 22:08:35
JDBC
JDBC,英文全称为Java Database Connectivity,是Java提供对数据库连接、操作的标准API。
即JDBC是一套API。
Java本身没有实现对数据库连接、查询、更新等操作,而相关的实现由厂商负责,厂商需要实现JDBC定义的接口
JDBC库中所包含的API任务通常与数据库使用:
- 连接到数据库
- 创建SQL或MySQL语句
- 在数据库中执行SQL或MySQL查询
- 查看和修改记录
JDBC Connection
实操素材来自遇见狂神说Java
- 首先得建一个数据库内容
- 建一个Maven项目,在porm.xml中导入依赖
- 在Java中代码实现的过程:
- 加载与注册JDBC驱动
- 创建Connection对象 => 创建Statement对象 => 创建ResultSet对象
URL格式为:
jdbc:mysql://localhost::3306/jdbcStudy
- 使用
ResultSet
的getObject
方法来获取对应的值 - 倒序释放资源
图示如下:
1 | package JDBC; |
执行可以发现获取了数据库的对应字段
Java特性在此过程中的体现
Class.forName在此过程中的作用
使用Class.forName
会触发类加载,com.mysql.jdbc.Driver
类将会被初始化
所以static
代码块将会被执行
因此,想要反射某个类又不想初始化类方法有如下途径:
- 使用
Class.forName("xxx", false, loader)
方法,第二个参数传入false ClassLoader.load("xxx")
不使用Class.forName也能执行的原因=>SPI
Java SPI机制:JDK内置的一种 服务提供发现机制,可以用来启动框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口
通俗来说就是会自动发现依赖,然后加载
JDBC 数据库配置信息
传统的Web应用的配置信息存放路径
WEB-INF
目录下的*.properites .yml *.xml
- Spring boot项目:
src/main/resources/
常见的存储数据库配置信息的文件路径
WEB-INF/applicationContext.xml
WEB-INF/hibernate.cfg.xml
WEB-INF/jdbc/jdbc.properties
- 使用系统命令寻找,如寻找mysql:
find 路径 -type f |xargs grep "com.mysql.jdbc.Driver"