什么是 JDBC,我可以从哪里开始学习?
我知道这是一种使用 Java 访问数据库的方法,但它解决了哪些问题?它是一个 ORM(或者它试图成为)?它是否在语法级别抽象出数据库之间的差异?它有什么作用?它不做什么?
JDBC 是一个允许您访问数据库的驱动程序。它为您提供了一种非常原始的方式来使用 SQL 访问数据库。它的主要功能是允许您(用户)在数据库上运行 SQL 命令。它不是 ORM,也永远不会是。sun 网站http://java.sun.com/docs/books/tutorial/jdbc/有一个很好的 JDBC 教程。如果您对 ORM 感兴趣,请尝试http://www.hibernate.org/。
不,JDBC 不是 ORM。它是Java 数据库连接API,基本上它提供了一个与数据库无关的访问层和提供者模型(以便可以轻松添加新的数据库驱动程序)。如果他们愿意,供应商可以为特定的数据库特性添加更多功能,但如果他们希望使用多个数据库,开发人员可以忽略这些特性。
不涉及映射 - 只是为连接(和池)、准备好的语句、存储过程、结果集等建模。
Java 数据库连接 (JDBC)是一种用于 Java 编程语言的 API,它定义了客户端如何访问数据库。它提供了查询和更新数据库中数据的方法。JDBC面向关系数据库。
你实际上已经回答了你自己的问题。
它为访问数据库提供了一个通用接口,这意味着无论单个数据库的细微差别如何,或者它们是如何实现的,您的 API 调用都是相同的。它不是 ORM。
JDBC 是一组 Java 接口类,可将您的应用程序与任何关系数据库管理系统连接起来。
JDBC - Java 数据库连接
JDBC 是一种通过适用于每种类型的关系数据库(Oracle、MySql、MariaDB、AWS...)的驱动程序将您的数据库连接到您的 Java 开发的方法!
可以使用项目中的 MAVEN 将 JDBC 下载到您的 java 项目中!从那里,您可以在 MAVEN 的 arquive POM 中为您的项目提取 JDBC 依赖项。依赖链接:https ://mvnrepository.com/artifact/mysql/mysql-connector-java
Maven:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>NameId</groupId>
<artifactId>NameProjectJava</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Package</name>
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
</dependencies>
Instance database in the Java with JDBC:
public class DB {
Connection con;
MysqlDataSource dataSource = new MysqlDataSource();
private Statement stmt;
private ResultSet rs;
static private DB instance;
private DB(String host, String user, String password, int port, String dbName) throws SQLException {
dataSource.setDatabaseName(dbName);
dataSource.setServerName(host);
dataSource.setUser(user);
dataSource.setPassword(password);
dataSource.setPort(port);
dataSource.setServerTimezone("UTC");
}
private Connection getConnection() throws SQLException {
return this.dataSource.getConnection();
}
public static DB getInstance() {
if (instance == null) {
try {
instance = new DB("localhost", "root", null, 3306, "group3_hr");
} catch (SQLException e) {
e.printStackTrace();
}
}
return instance;
}