为什么 JDBC 是动态加载而不是导入? [复制]

2024-04-18

在 JDBC 中,我只看到使用的示例

Class.forName("com.mysql.jdbc.Driver", true, cl);

还没有看到有人使用

import com.mysql.jdbc.Driver;

是不是因为我们想让一个驱动包在执行时动态提供,所以只有在执行时才能知道?

如果我们在执行之前已知有固定的驱动程序包,是否可以采用第二种方式?您如何比较这两种方式?

Thanks.


我只看到使用的例子

那么您正在阅读有关 JDBC 的非常古老的内容。这在很长一段时间内不再有用。它was在尝试执行此操作之前,有必要加载驱动程序类以确保加载了必要的驱动程序,并且能够处理与提供的数据库 URL 的连接。

JDBC 抽象是访问数据库所需的全部,并且您不应该关心您正在处理的是 MySQL 驱动程序还是 Oracle 驱动程序,还是其他什么。在运行时动态加载驱动程序,允许从编译类路径中删除驱动程序 jar 文件,并确保您仅依赖于标准 JDBC 类和接口。

请注意,除了允许您在代码中使用简单的类名称之外,导入类不会执行任何操作。它并不等同于加载和初始化类,而这正是第一个代码片段的作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 JDBC 是动态加载而不是导入? [复制] 的相关文章

  • GSON:如何在保持循环引用的同时防止 StackOverflowError?

    我有一个带有循环引用的结构 出于调试目的 我想转储它 基本上任何格式都可以 但我选择了JSON 由于它可以是任何类 所以我选择了不需要 JAXB 注释的 GSON 但是 GSON 会遇到循环引用并递归直到StackOverflowError
  • 如何用泛型返回类型推断方法的具体返回类型?

    给出以下接口 interface Random extends java util function Supplier
  • 如何生成带logo的二维码?

    我正在为 Android 设备开发应用程序 我想生成带有徽标的二维码 With ZXing I know how to generate simple QR codes like this one But I want to generat
  • 如何将json从android发送到php?

    为了将 json 从 android 发布到 php 我使用了 Volley 库StringRequest目的 StringRequest sr new StringRequest Request Method POST url new R
  • 禁用特定的 ServletContextListener 以防止在 tomcat 上启动

    我的项目正在使用spring boot with webflux tomcat 我有一个内部库类 它是ServletContextListener WebListener public class DevIoServletContextLi
  • Java 中修剪字符串的可能前缀

    I have String str 我想从中提取不包括可能的前缀的子字符串 abc 我想到的第一个解决方案是 if str startsWith abc return str substring abc length return str
  • antisamy 解析器强制关闭标签

    我使用 Antisamy 来验证 HTML 我的政策允许 iframe 例如 YouTube 视频 问题是 如果标签为空 像这样 清洗后会是这样的 但它应该有正常的结束标签 这会破坏之后页面上的所有内容 我已经将指令设置为使用大部分 HTM
  • Android 是否可以获取用户和设备所在国家/地区的货币代码?

    是否可以获取用户和设备所在国家 地区的货币代码 我想将用户当前国家 地区的国家 地区代码设置为默认国家 地区 我们在 Android 中有解决方案吗 由于这段代码可能对您有帮助 public class CurrencyTest publi
  • 在其抽象超类中使用子类的泛型类型?

    在我的代码中有以下抽象超类 public abstract class AbstractClass
  • 将 XML 转换为 Java 对象 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • int 到 long 赋值

    我一直在尝试这个 int 和 long 转换 我尝试分配一个int变量为along多变的 代码如下 public static void main String args int i 1024 long j i long k i i i i
  • 什么是样板代码、热点代码和热点?

    我知道这些术语是在性能实现 优化的背景下使用的 最近一直在研究这个问题 并尝试过搜索 但没有得到任何例子 清楚地阐述 描述这些概念以及在现实世界开发场景中实现这些问题 概念 有人可以彻底解释这些术语 示例场景以及可能使用这些概念和术语的地方
  • 策略模式的现实示例

    我一直在读关于OCP原理 http en wikipedia org wiki Open closed principle以及如何使用策略模式来实现这一目标 我打算尝试向几个人解释这一点 但我能想到的唯一例子是根据 订单 的状态使用不同的验
  • java中类的命名约定 - 全部大写

    在 Java 中 当类全部大写时 如何命名它 例如 如果我想创建一个班级来选择某些人成为 VIP 我应该将类命名为 VIPSelector 还是 VipSelector Thanks 你的两个选择都有效 类的主要目标是让它们以大写字母开头
  • 如何在 JUnit5 中为测试套件设置自定义测试执行顺序?

    我在 JUnit5 上进行了大量测试 并在多个线程中并行运行 还有有关每次测试时间的信息 我想在最长的测试开始时运行 并将最快的测试留在最后以优化公共执行时间 我还没有找到在 JUnit5 中执行此操作的方法 版本中5 4有一个org ju
  • 在 Android 应用程序中编辑/添加 IPTC 元数据

    我看过许多其他类似的问题 但似乎没有一个有准确的答案 我正在开发一个可处理大量图像的 Android 应用程序 我希望通过编辑 IPTC 关键字标签 或其他适当标签 的值来向图像添加信息 我在用元数据提取器 http drewnoakes
  • 蓝牙连接;无法正确发送字符串

    当我需要将字符串从服务器蓝牙套接字发送到客户端蓝牙套接字时 我的程序遇到了麻烦 只要我一次只发送一个字符串 例如聊天 一切都可以正常工作 但是如果我需要在短时间内编写更多字符串 以交换信息 则字符串将不会与客户端代码分离 例如 如果我发送
  • Activity 在 Android 上创建两次

    首先 我是 Android 开发新手 所以请耐心等待 我将从用户界面开始 我有一个按钮 一旦您点击它 就会启动一个活动以获取结果 public class GUIActivity extends Activity Override publ
  • “您的安全设置已阻止本地应用程序运行”Java 8

    我正在尝试在 Chrome 窗口中运行一个小小程序 但收到错误消息 我确实看到所有回复都告诉我将安全性更改为中级 但版本 8 中不存在该选项 到目前为止 几个小时的谷歌搜索和向同学寻求帮助没有带来任何进展 有人可以建议一下吗 Medium在
  • struts2中如何访问url参数

    我正在做一个struts2项目 我在项目中创建了 url 并使用标签传递了参数 我的问题是如何读取操作中的参数 另外 如果执行相同的操作 我将能够将参数视为查询字符串 我问是因为我无法做到 而且我在其中一个教程中看到了它 通常 您将通过使用

随机推荐

  • 如何在Dockerfile中下载并解压

    所以 我有 它有效 但我想改变立即下载文件并解压它的方式 Dockerfile FROM wordpress fpm Copying themes from local COPY wordpress var www html wp cont
  • Newtonsoft.Json 可在 Unity 编辑器中运行,但无法在移动设备上运行

    我正在 Unity 中编写一个按类别提问和回答的游戏 类别是通过返回 JSON 文本的 PHP 脚本获取的 当我在 UnityEditor 中使用此解决方案时 它可以正常工作 但是当我在移动设备上安装 apk 时 反序列化不起作用 与 my
  • 带圆角的方形进度条

    我正在尝试在 dart flutter 中构建一种圆形方形进度条 也许有人知道如何使其成为可能 我已经尝试了所有 油漆 边框等等 但没有成功 示例图像 圆形方形进度条 https i stack imgur com jhy9Q png 你可
  • 在 Python 中为现有 PDF 创建大纲/目录

    我正在使用 pyPdf 将多个 PDF 文件合并为一个 这很好用 但我还需要向生成的 PDF 文件添加目录 大纲 书签 pyPdf 似乎只支持读取大纲 Reportlab 允许我创建它们 但开源版本不支持加载 PDF 文件 因此无法向现有文
  • 一个本地 .resx 字符串可以引用另一个本地 .resx 字符串吗?

    我正在尝试确定是否可以将串联字符串添加到我的本地 resx 文件之一 这个例子应该澄清 假设我有一个简单的 ASP NET 网页 由 1 一个标签 其文本是重要关键字 2 一个带有必填字段验证的输入和 3 一个导致验证发生的按钮组成 lbl
  • JodaTime中如何获取本机的时区?

    如何检测本地计算机所在的时区 I tried DateTimeZone getDefault 但如果机器位于德国 那么这不会给我例如时区 德国 有可能吗 DateTimeZone getDefault 如果您的主机位于德国 将返回您的时区
  • 没有 jpa 的 Spring 和 Hibernate

    对于我的新项目 我计划使用 Hibernate 5 和 Spring 4 并且一如既往地喜欢分成不同的层 项目 梯度依赖 org springframework spring webmvc 4 2 1 RELEASE org springf
  • 获取.NET程序集的日期[重复]

    这个问题在这里已经有答案了 如何从当前 NET 程序集中检索创建日期 我想添加一些非常简单的功能 让我的应用程序在主程序集构建日期一周后停止工作 我已经编写了在给定日期后杀死我的应用程序的代码 我只需要以编程方式从程序集中检索创建日期 以下
  • 分析 mex 函数

    我刚刚用 c 将 Matlab 程序重写为 mex 函数以加快速度 并取得了出色的结果 这个优化决策是一个非常非常好的主意 无需线程即可将速度提高 20 倍 它仍然让我很好奇 mex 函数将时间花在什么上 并希望找出可能的瓶颈 我正在寻找一
  • 创建自定义表格表示的函数

    我使用下面的代码来概述我的部分数据 从以下代码中创建函数的最佳方法是什么 它将采用 dataList 以及一些图形选项 例如颜色 作为参数 并返回自定义的表格表示形式 如下所示 overviewtheData Text Grid Map R
  • Symfony 2 FOS 用户捆绑包 Bootstrap 模式 AJAX 登录

    有没有人已经使用 Symfony 2 和 FOS User Bundle 在 Bootstrap 模式中构建了登录表单 这是我现在所拥有的 src Webibli UserBundle Resources config service ym
  • 使用 PHP 生成 Windows .lnk 文件

    我正在开发一个项目 其中涉及运行 ProFTPd 的 FTP 服务器和为用户创建帐户的 PHP MySQL 后端 创建帐户后 系统会向用户发送电子邮件 其中包含其帐户详细信息以及下载 FileZilla 或 Cyber Duck 的说明 具
  • Publish 不是改造 web.config 吗?

    我制造了一个web config 完整文件 http pastebin com rYreaVyP 它不显示 XML 错误
  • 如何从 HttpInputStream 获取 docx 文件的字节数组?

    我正在使用这篇文章第一个答案中的方法 如何从 HttpPostedFile 创建字节数组 https stackoverflow com questions 359894 how to create byte array from http
  • 如何写入 stdIn (JAVA) [重复]

    这个问题在这里已经有答案了 我想通过使用一些输入 例如 join 8 对我的 P2P 系统进行一些测试 8 是节点号 对于我的系统 命令 join 8 是从标准输入读取的 但我不想将其键入数百次以进行数百次测试 因此我编写了一个测试函数来随
  • HTML5 视频 - 在特定时间开始视频并播放 x 时间

    我正在尝试创建在特定时间点启动本地视频并播放特定持续时间的按钮 我已经让它在某个时刻播放 但不知道如何让它只播放一定的持续时间 这是代码 HTML
  • C++ 中的叉积

    给定以下Python 来自http norvig com sudoku html http norvig com sudoku html def cross A B Cross product of elements in A and el
  • 使用 Terraform(工作区、模块?)配置客户帐户最佳实践?

    我需要在 AWS 中创建和管理多个客户环境 并且希望利用 Terraform 来部署所有必要的资源 每个客户环境基本相同 只是用于访问其中一台服务器的 URL 不同 我已经整理了一个 Terraform 配置 可以为给定客户部署所有资源 但
  • 来自本地运行的 docker 容器内的 Azure 托管身份

    我正在运行一个由 asp net core 2 2 api 组成的 docker 容器 此 api 需要访问 Azure 密钥保管库 并且我已使用在密钥保管库上具有正确访问策略的用户登录 Visual Studio 以检索机密 但是 当我使
  • 为什么 JDBC 是动态加载而不是导入? [复制]

    这个问题在这里已经有答案了 在 JDBC 中 我只看到使用的示例 Class forName com mysql jdbc Driver true cl 还没有看到有人使用 import com mysql jdbc Driver 是不是因