JDBC编程

1. JDBC 简介

1.1 JDBC概述 : JDBC : Java DataBase Connectivity,是Sun公司制定的Java程序连接和操纵数据库的一组应用接口标准

1.2 JDBC 编程步骤

(1) 引入 java.sql 包的所有类及接口。

(2) 加载相应数据库的JDBC驱动程序。不同数据库系统的JDBC驱动程序不同,可根据java程序需要连接的数据库系统加载相应的驱动程序

(3) 定义JDBC连接的数据库对象。连接数据库时要指明连接数据库系统的名称,登录名和密码

(4) 连数据库。Java程序向数据库系统发送连接命令,并取得连接对象。

(5) 使用SQL语句操纵数据库。通过语句对象向数据库服务器发送SQL命令,数据库服务器执行SQL命令,并向java程序返回执行结果。

(6) 关闭Java程序与数据库的连接。

1.3 JDBC主要类和接口

(1) java.sql.Connection 接口,建立与特定数据库系统的连接,一个连接就是一个会话,建立连接后可以执行SQL语句。

(2) java.sql.CallableStatement 接口,执行SQL存储过程。

(3) java.sql.DriverManager 类,管理JDBC驱动程序

(4) java.sql.Data 类,该类是java.util.Date 的子类,用于表示与SQL DATE相同的日期类

(5) java.sql.DatabaseMetaData 接口,访问数据库的元信息

(6) java.sql.Driver 接口,定义数据库驱动程序接口。

(7) java.sql.DataTruncation 类,在JDBC遇到数据截断的异常时,报告一个警告(读数据时)或产生一个异常(写数据时)。

(8) java.sql.DriverPropertyInfo 类,通过DriverPropertyInfo 与Driver进行交流,可以使用getDriverPropertyInfo()方法获取驱动程序信息。

(9) java.sql.PreparedStatement 接口,该接口是Statement接口的子接口,创建可编译的SQL语句对象,该对象一次编译多次运行,提高SQL语句的执行效率。

(10) java.sqlResultSet 接口,用于创建表示SQL语句检索结果的结果集,用户通过结果集访问数据库。

(11) java.sql.Statement 接口,Statement 对象执行静态SQL语句,并获得语句执行后返回的结果。

(12) java.sql.SQLException 类,描述访问数据库时产生的异常信息。

(13) java.sqlSQLWarning 类,它是SQLException 类的子类,描述访问数据库时产生的警告信息。

(14) java.sqlTypes 类,定义了SQL类型常量,例如,常量 INTEGERT 与Java的基本类型int对应,SMALLINT常量与Java的基本类型short对应。

2. 连接数据库

Java 应用程序连接数据库分为3步,加载JDBC驱动程序、连接数据库系统和关闭。

2.1 加载JDBC驱动程序

语法格式:

Class.forName(数据库驱动程序);

2.2 连接数据库系统

MySQL 数据库的链接地址

语法格式:

jdbc:mysql://IP地址:端口号/数据库系统名

package JDBC_Basci;
import java.sql. *;public class Demo1501 {// 通过数据库驱动程序,地址,用户和密码连接数据库系统public static Connection getMyConnection(String driverName, String uri, String userName, String password) throws Exception{Class.forName(driverName);  // 加载JDBC-MySQL 数据库驱动程序return DriverManager.getConnection(uri, userName, password); // 连接数据库系统}// 通过数据库驱动程序、地址连接数据库系统public static Connection getMyConnection(String driverName, String uri) throws Exception{Class.forName(driverName);  // 加载 JDBC-MySQL 数据库驱动程序return DriverManager.getConnection(uri); // 连接数据库系统}public static void main(String[] args) throws Exception {String driverName = "com.mysql.jdbc.Driver"; // MySQL 驱动程序Connection conn;// 连接 MySQL 数据库的字符串// 包括  协议  |  驱动程序名   |   分隔符  |  主机名or IP地址  |  端口号  |  数据库名//      jdbc:  |    mysql:    |    //    | localhost:    |   3306  |   jsu
//        String uri1 = "jdbc:mysql://localhost:3306/jsu?useSSL=true";
//        String username = "root";
//        String password = "jsu12345";
//        conn = Demo1501.getMyConnection(driverName, uri1, username, password);String uri2 = "jdbc:mysql://localhost:3306/jsu?user=root&password=jsu123456&userSSL=true";conn = Demo1501.getMyConnection(driverName, uri2);System.out.println("---------连接成功!输出数据库元数据---------");System.out.println("数据库名: " + conn.getMetaData().getDatabaseProductName());System.out.println("数据库版本号: " + conn.getMetaData().getDatabaseProductVersion());System.out.println("数据库驱动程序: " + conn.getMetaData().getDriverName());conn.close();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/149010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多视图聚类的论文阅读(一)

当聚类的方式使用的是某一类预定义好的相似性度量时, 会出现如下情况: 数据聚类方面取得了成功,但它们通常依赖于预定义的相似性度量,而这些度量受原始方法的影响:当输入维数相对较高时,往往是无效的。 1. Deep Mult…

python爬取快手视频

原理 F12点击graphql能够看到里面有若干视频信息,一会儿要取其中的url地址 右键复制cURL 然后进入到这个转换器连接 https://curlconverter.com/python/ 点击这个连接复制上述信息,然后就能解析处下面的代码,拷贝到你的项目中替换cookies,headers,json_data 源代码 …

使用 Hugging Face Transformer 微调 BERT

微调 BERT有助于将其语言理解能力扩展到更新的文本领域。BERT 的与众不同之处在于它能够掌握句子的上下文关系,理解每个单词相对于其邻居的含义。我们将使用 Hugging Face Transformers 训练 BERT,还将教 BERT 分析 Arxiv 的摘要并将其分类为 11 个类别之一。 为什么微调 BER…

[和ChatGPT学编程]Python Requests 简介

requests 是一个流行的 Python 库,用于发送 HTTP 请求。它提供了简洁而友好的 API,使得发送 HTTP 请求变得简单而直观。requests 具有许多强大的功能,适用于各种 HTTP 请求场景,包括 GET、POST、PUT、DELETE 等。 目录 requests 库…

【Django-DRF用法】多年积累md笔记,第3篇:Django-DRF的序列化和反序列化详解

本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做的最核心工作,然后介绍Django REST framework能帮助我们简化开发REST API的工作。 全…

Docker Swarm: 容器编排的力量和优势深度解析

文章目录 Docker Swarm的核心概念1. 节点(Node)2. 服务(Service)3. 栈(Stack) 使用Docker Swarm1. 初始化Swarm2. 加入节点3. 创建服务4. 扩展和缩减服务5. 管理栈6. 管理服务更新 Docker Swarm的优势深度解…

shadow复习之planar shadow

planar shadow 通常来说 shadow都是画一个map 这个map有个很大的问题,那就是size有问题 你希望有很高的精度,就必定要用大size的图片,这显然是不太妙的 那么这里就出现一个取巧的法子,如果你只考虑投影到平面上,光源是…

分类预测 | Matlab实现基于SDAE堆叠去噪自编码器的数据分类预测

分类预测 | Matlab实现基于SDAE堆叠去噪自编码器的数据分类预测 目录 分类预测 | Matlab实现基于SDAE堆叠去噪自编码器的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现基于SDAE堆叠去噪自编码器的数据分类预测(完整源码和数据) 2.多…

C#中的DateTime类

C# 中的 DateTime 类是用于表示日期和时间的结构。它提供了一系列属性和方法,用于处理日期和时间的各种操作和计算。下面是一些常用的 DateTime 类的用法和方法解释,以及相应的示例说明: 创建 DateTime 对象: 使用当前日期和时间创…

Kubernetes学习-概念2

参考:关于 cgroup v2 | Kubernetes 关于 cgroup v2 在 Linux 上,控制组约束分配给进程的资源。 kubelet 和底层容器运行时都需要对接 cgroup 来强制执行为 Pod 和容器管理资源, 这包括为容器化工作负载配置 CPU/内存请求和限制。 Linux 中…

概念理论类: TCP/IP、Http、Socket之间的区别

转载:百度安全验证 一、TCP/IP 1. 定义 TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于互联网的通信协议,由美国国防部高级研究计划署(ARPA)在20世纪70年代开发,被广泛…

BatchNormalization:解决神经网络中的内部协变量偏移问题

ICML2015 截至目前51172引 论文链接 代码连接(planing) 文章提出的问题 减少神经网络隐藏层中的”内部协变量偏移”问题。 在机器学习领域存在“协变量偏移”问题,问题的前提是我们划分数据集的时候,训练集和测试集往往假设是独立同分布(i.i.d)的,这种独立同分布更有利于…

结合scss实现黑白主题切换

是看了袁老师的视频后,自己做了一下练习。原视频地址: b站地址https://www.bilibili.com/video/BV15z4y1N7jB/?spm_id_from333.1007.top_right_bar_window_history.content.click&vd_sourcec6cf63302f28d94ebc02cbedcecc57ea首先创建一个全局的scs…

“ /^A-Z:\\{1,2}^/:\*\?<>\|+\.(jpg|gif|png|bmp)$/i ”这个正则表达式的理解

这个正则表达式可以分解为以下几个部分: ^:这是一个开始符号,表示匹配必须从字符串的开始部分开始。/:这是一个斜杠符号,通常在正则表达式中用来表示特殊字符的转义。A-Z::这部分表示匹配一个大写字母后跟…

055-第三代软件开发-控制台输出彩虹日志

第三代软件开发-控制台输出彩虹日志 文章目录 第三代软件开发-控制台输出彩虹日志项目介绍控制台输出彩虹日志实现原理真实代码 总结 关键字: Qt、 Qml、 关键字3、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QM…

GSVA,GSEA,KEGG,GO学习

目录 GSVA 1:获取注释基因集 2:运行 GSEA 1,示例数据集 2,运行 GSEA_KEGG富集分析 GSEA_GO富集分析 DO数据库GSEA MSigDB数据库选取GSEA KEGG 1:运行 2:绘图 bar图 气泡图 绘图美化 GO GSVA 1:获取注…

使用 JMeter 分布式性能测试

作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。不过,JMeter 也可以像 Loa…

LeetCode 面试题 16.26. 计算器

文章目录 一、题目二、C# 题解 一、题目 给定一个包含正整数、加()、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。 表达式仅包含非负整数,, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。 示例 …

TikTok与媒体素养:如何辨别虚假信息?

在当今数字时代,社交媒体平台如TikTok已经成为信息传播和社交互动的主要渠道之一。然而,随之而来的是虚假信息的泛滥,这对用户的媒体素养提出了严峻的挑战。本文将探讨TikTok平台上虚假信息的现象,以及如何提高媒体素养&#xff0…

EfficientPhys

研究背景 基于相机的生理测量是一种非接触式方法,用于通过从身体反射的光捕获心脏信号。最常见的此类信号是通过光电体积描记图 (PPG) 测量的血容量脉搏 (BVP)。由此,可以推导出心率、呼吸率和脉搏传导时间。神经网络模型是当前最先进的 rPPG 测量方式。…