学习笔记——JDBC

2023-11-15

初识JDBC


一、JDBC是什么?

Java Database Connectivity 简称 JDBC (Java数据库连接)。本质是SUN公司提供的一套接口(interface)

二、使用步骤

1.JDBC开发前的准备工作

1.1 下载对应驱动的jar包

(1) 下载地址
https://dev.mysql.com/downloads/connector/j/

(2) 选择操作系统 Platform Independent
在这里插入图片描述
(3) 选择对应系统
.tar.gz是Linux/IOS的压缩包
.zip是Windows的压缩包

1.2 针对文本编辑器的方式开发的配置:

将jar包配置到环境变量classpath中。

1.3针对编译软件 例如IDEA开发的配置:

打开IDEA的模块设置
在这里插入图片描述
选择Libraries
在这里插入图片描述
添加Java
在这里插入图片描述
找到jdbc对应的jar包
在这里插入图片描述
点击OK
在这里插入图片描述

2.JDBC编程

2.1 第一步:注册驱动

Class.forName("com.mysql.jdbc.driver");

2.2 第二步:获取连接

String url = "jdbc:mysql://localhost:3306/test?useSSL=true&useUnicode=true&characterEncoding=UTF-8";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url,user,password);

2.3 第三步:获取数据库操作对象

/*
	Statement 是 Java 执行数据库操作的一个重要接口
	PreparedStatement 接口 继承了Statement
	
	PreparedStatement支持预编译sql 可以防止sql注入
	
*/
//Statement statement = conn.createStatement();
PreparedStatement preparedStatement = conn.prepareStatement();

2.4 第四步:执行SQL语句

/*
	int executeUpdate(insert/delete/update)
	ResultSet executeSelect(select)
*/
String sql = "select * from student";
ResultSet resultSet = preparedStatement.executeQuery(sql);

2.5 第五步:处理查询结果集

//ResultSet 从1开始
//boolean ResultSet.next() 将光标从当前位置向前移一行。
//String getString() 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。不管数据库中的数据类型是什么,都以String的形式取出
while(resultSet.next()){
	String name = resultSet.getString(columnIndex);
	...
}

2.6 第六步:释放资源

try{
	if(preparedStatement != null) {
		preparedStatement.close();
	}
}catch(SQLException e) {
	e.printStackTrace();
}

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

学习笔记——JDBC 的相关文章

  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • 简单 XML 框架:ElementMap 中的对象具有“类似内联”的行为

    我正在尝试在 Android 上序列化自定义对象的 Hashmap 以获得如下 xml
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 垂直 ViewPager 中的动画

    我需要垂直制作这个动画ViewPager https www youtube com watch v wuE 4jjnp3g https www youtube com watch v wuE 4jjnp3g 这是我到目前为止所尝试的 vi
  • 使用全局变量从内部函数获取空字符串

    请帮助我解决一些小问题 我确信你能做到 D 我试图在 firestore 文档 user cases information 上设置一个字段 其中包含一个字段 case number 首先我声明这个全局变量 private String c
  • 未注入带有 JPA2 的 Apache Ignite 2.7 IgniteRepository

    使用在 Web 上建立的 guildes 我使用 Spring Data JPA 2 应用程序制作了简单的 Spring Boot 2 仅在 2 7 版本中才向 Apache Ignite 添加了 Spring Boot JPA 2 支持
  • 在拇指上方显示修改后的 JSlider 值

    有没有一种简单的方法可以在使用某些 外观和感觉 的同时更改 JSlider 上方标签中显示的值 为了清楚起见 我正在谈论这个值 具体来说 我想显示除以 1000 的值而不是值本身 我知道如果我显示它们 我可以为刻度设置标签 但用户将不得不猜
  • 如何自动转换十六进制代码以将其用作 Java 中的 byte[]?

    我这里有很多十六进制代码 我想将它们放入 Java 中 而不需要向每个实体附加 0x 喜欢 0102FFAB 和我必须执行以下操作 byte test 0x01 0x02 0xFF 0xAB 我有很多很长的十六进制代码 有什么办法可以自动做
  • 如何在Netbeans中设置JList的ListModel?

    我在 Netbeans IDE 的帮助下设计了一个 Swing GUI 该 GUI 包含一个 JList 默认情况下 它使用 QAbstractListModel 将其作为 JList 构造函数中的参数传递以创建该 JList 我想在 Ne
  • 如何让“循环”泛型在 Java 中工作?

    我在编译以下涉及一些泛型的代码时遇到错误 public abstract class State
  • 如何阻止选项卡在 IntelliJ IDEA 内重新排序?

    每次我单击 IntelliJ IDEA 中的某个选项卡时 它都会对所有选项卡重新排序 当我了解选项卡的顺序 然后它会切换时 我发现这非常烦人 这真的很烦人也很悲伤 因为这个问题是 2009 年的 现在还没有解决 我测试了多种配置并找到了合适
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 了解Kafka流groupBy和window

    我无法理解 kafka 流中的 groupBy groupById 和窗口的概念 我的目标是聚合一段时间内 例如 5 秒 的流数据 我的流数据看起来像 value 0 time 1533875665509 value 10 time 153
  • Java HashSet 是线程安全的只读吗?

    如果我通过 Collections unmodifyingSet 运行 HashSet 实例后 它是线程安全的吗 我问这个是因为 Set 文档声明它不是 但我只是执行读取操作 来自 Javadoc 请注意 此实现不是同步的 如果多个线程同时
  • Intellij删除多个本地分支

    使用Intellij IDE 我的版本是2017 3 5 有没有办法一次删除多个本地git分支 您可以直接在IntelliJ IDEA中删除多个分支 转到选项卡 Git Log IDE 底部 或通过 IDE 顶部菜单 Git Show Gi
  • Spring - 如何在不匹配列名的情况下使用 BeanPropertyRowMapper

    我正在开发一个应用程序 该应用程序已使用行映射器从纯 JDBC 转换为 Spring 模板 我遇到的问题是数据库中的列与属性名称不匹配 这阻止我使用BeanPropertyRowMapper容易地 我看到一些关于在查询中使用别名的帖子 这会
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 我怎样才能限定我不“拥有”的自动装配设置器

    要点是 Spring Batch v2 测试框架具有JobLauncherTestUtils setJob与 Autowired注解 我们的测试套件有多个Job类提供者 由于这个类不是我可以修改的东西 我不确定如何限定它自动连接的作业 每个
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐

  • A Tour of Computer Systems

    1 1 Information is Bits Context All information in a system is represented as a bunch of bits The only thing that distin
  • 图片从base64编码转换为jpg文件

    1 使用网站 注意在base64编码前加上 data image png base64 http tool chinaz com tools imgtobase 2 转换的代码 package com test import java io
  • 牛逼!Windows竟然也能运行QEMU虚拟机!

    这些天研究 Miracast 又倒腾了开发用的虚拟机 但是发现了新的东西就是 QEMU 全宇宙最强的硬件模拟器 原来这玩意可以在Windows上跑虚拟机的 环境部署 msys2 mingw w64 qemu 系统iso Hyper V 代替
  • linux排序文件命令,Linux文件排序工具 sort 命令详解

    本文目录 1 1 选项说明 1 2 sort示例 1 3 深入研究sort sort是排序工具 它完美贯彻了Unix哲学 只做一件事 并做到完美 它的排序功能极强 极完整 只要文件中的数据足够规则 它几乎可以排出所有想要的排序结果 是一个非
  • (七) carla真实世界坐标系与全局俯视地图像素坐标系变换

    七 carla真实世界坐标系与全局俯视地图像素坐标系变换 问题陈述 下图为 c a r l a carla carla 中 T
  • 常见排序算法之归并排序——归并排序

    哈喽大家好 我是保护小周 本期为大家带来的是常见排序算法中的归并排序 博主在这里先分享归并排序的递归算法 包您一看就会 快来试试吧 目录 一 归并排序 1 1 基本思想 1 2 算法思想 1 3 程序设计思想 1 4 程序实现 1 5 归并
  • SQL日期函数

    一 知识点 在SQL中 由于不能直接执行算术函数 所以日期函数在SQL就十分有用 日期函数拥有多个方法 每个方法都可以对日期进行查改或计算 比如 GETDATE 方法 获取当前的系统日期 DATEADD 日期部分 number date 返
  • nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载 点击进入 Nexus 是Maven仓库管理器 如果你使用Maven 你可以从Maven中央仓库 下载所需要的构件 artifact 但这通常不是一个好的做法 你应该在本地架设一个Maven仓库服务器 在代理远程仓库的同
  • 利用labelme制作语义分割masks掩膜数据集

    1 labelme的安装 在terminal终端执行命令行操作 conda create n labelme python 3 6 创建labelme环境 activate labelme 激活labelme conda install p
  • 基于vivado实现FFT/IFFT

    文章目录 前言 一 基本过程 二 vivado配置 1 新建工程 2 调用DDS的IP核 2 调用FFT的IP核 三 编写Verilog程序 1 顶层文件fft v 2 仿真文件fft tb v 四 运行仿真 1 运行仿真设置 2 仿真波形
  • 二叉树的性质

    二叉树的性质以及满二叉树 完全二叉树 性质一 在二叉树的第i层 最多有2的 i 1 次方个结点i gt 1 性质二 深度为k的二叉树上最多有含有2的k次方 1个结点 k gt 1 性质三 对于任何一个二叉树 若它含有n0个叶子结点 n2个度
  • Spring Bean自动装配的简介

    转自 Spring Bean自动装配的简介说明 Spring Bean装配为依赖关系注入 Spring Bean装配方式称之为 Spring Bean依赖注入方式Spring Bean容器拥有多种装配Bean方式 如 使用XML 装配Bea
  • 数据科学—K均值算法实践

    K均值算法实践 问题描述 目标 数据集 分析 算法阐述 代码实现 结果 问题描述 现在有一组数据 需要通过聚类方法发掘其内在结构 目标 对数据进行聚类分析 将数据分为四类 k 4 数据集 clusterdata txt存储待聚类数据 共包含
  • jQuery操作CheckBox的方法(选中,取消,取值)详解

  • 通讯协议024——全网独有的OPC AE知识四之接口(八)

    本文简单介绍OPC AE规范的IOPCEventAreaBrowser接口的相关知识 更多通信资源请登录网信智汇 wangxinzhihui com OPC AE规范描述了OPC事件服务器应该实现的对象和接口 实现在多个OPC客户端间共享事
  • 2.5.6 共享分区CPU分配

    最后更新2021 07 27 共享分区CPU分配这个动作是系统Hypervisor自动完成的 我们只能通过HMC定义规则 但不能直接干预 CPU分配受几个限定参数影响 分别是Physical Processor 物理CPU 分配数量 Vir
  • Spring MVC视图解析器简介说明

    转自 Spring MVC视图解析器简介说明 Spring MVC视图解析器简介说明 下文讲述 Spring MVC视图 的相关说明 如下所示 Spring 视图解析器 Spring视图解析器用于对Spring中的视图进行解析 如下配置所示
  • 大话西游详细解读

    其实要理清 大话西游 的脉络 只要弄清楚命运对至尊宝的安排 和他面对命运和爱情的心路历程就够了 如果再理一下紫霞和白晶晶的故事 大话西游 的故事就纤毫毕现了 如下 至尊宝的故事 无奈的命运与无望的爱至尊宝原来是家在五岳山第四编101号B1的
  • 2023年IT行业就业前景分析,准职场人必看!

    随着疫情的放开 2022已接近尾声 新的一年即将来临 作为打工人最关心的肯定是2023年的就业市场以及行业未来发展前景 如何最直观地看待这个行业是否还有前景 最好的方式就是看市场需求 作为准职场人的你 速速关注起来 根据智联招聘10月发布的
  • 学习笔记——JDBC

    初识JDBC 文章目录 初识JDBC 一 JDBC是什么 二 使用步骤 1 JDBC开发前的准备工作 1 1 下载对应驱动的jar包 1 2 针对文本编辑器的方式开发的配置 1 3针对编译软件 例如IDEA开发的配置 2 JDBC编程 2