1

什么是 JDBC,我可以从哪里开始学习?

我知道这是一种使用 Java 访问数据库的方法,但它解决了哪些问题?它是一个 ORM(或者它试图成为)?它是否在语法级别抽象出数据库之间的差异?它有什么作用?它不做什么?

4

6 回答 6

6

JDBC 是一个允许您访问数据库的驱动程序。它为您提供了一种非常原始的方式来使用 SQL 访问数据库。它的主要功能是允许您(用户)在数据库上运行 SQL 命令。它不是 ORM,也永远不会是。sun 网站http://java.sun.com/docs/books/tutorial/jdbc/有一个很好的 JDBC 教程。如果您对 ORM 感兴趣,请尝试http://www.hibernate.org/

于 2008-11-20T09:41:17.230 回答
4

不,JDBC 不是 ORM。它是Java 数据库连接API,基本上它提供了一个与数据库无关的访问层和提供者模型(以便可以轻松添加新的数据库驱动程序)。如果他们愿意,供应商可以为特定的数据库特性添加更多功能,但如果他们希望使用多个数据库,开发人员可以忽略这些特性。

不涉及映射 - 只是为连接(和池)、准备好的语句、存储过程、结果集等建模。

于 2008-11-20T09:39:58.870 回答
2

Java 数据库连接 (JDBC)是一种用于 Java 编程语言的 API,它定义了客户端如何访问数据库。它提供了查询和更新数据库中数据的方法。JDBC面向关系数据库。

于 2008-11-20T09:40:45.297 回答
0

你实际上已经回答了你自己的问题。

它为访问数据库提供了一个通用接口,这意味着无论单个数据库的细微差别如何,或者它们是如何实现的,您的 API 调用都是相同的。它不是 ORM。

于 2008-11-20T09:40:30.757 回答
0

JDBC 是一组 Java 接口类,可将您的应用程序与任何关系数据库管理系统连接起来。

于 2015-01-15T22:46:36.543 回答
0

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;
}
于 2020-12-08T19:23:03.523 回答