JDBC 快速入门

news2024/10/7 5:02:41

JDBC 快速入门

  • 搭建步骤
  • 代码实现
    • 数据库
    • java 代码

在这里插入图片描述

搭建步骤

  1. 准备数据库
  2. 官网下载数据库连接驱动jar 包。https://downloads.mysql.com/archives/c-j/
  3. 创建 java 项目,在项目下创建 lib 文件夹,将下载的驱动 jar 包复制到文件夹里
  4. 选中 lib 文件夹右键 -> Add as Library,与项目集成
  5. 编写代码

代码实现

数据库

create database if not exists `atguigudb`;

use atguigudb;

create table t_emp (
    emp_id int auto_increment comment '员工编号' primary key,
    emp_name varchar(100) not null comment '员工姓名',
    emp_salary double(10, 5) not null comment '员工工资',
    emp_age int not null comment '员工年龄'
);

insert into t_emp(emp_name, emp_salary, emp_age)
values ('andy', 777.77, 32),
       ('大风哥', 666.66, 41),
       ('康师傅', 111, 23),
       ('Cavin', 123, 26),
       ('小鱼儿', 123, 28);

java 代码

package com.atguigu.base;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Copyright (C) 2024 - 2024 Jasonakeke, Inc. All Rights Reserved
 *
 * @Desc :
 * @Time : 2024/10/3 15:28
 * @Author : Code_By_Jasonakeke
 * @Email : 2284037977@qq.com
 * @Class : JDBCBase
 * @IDE : IntelliJ IDEA
 */
public class JDBCBase {

	public static void main(String[] args) throws Exception {
		// 1.注册驱动
		Class.forName("com.mysql.cj.jdbc.Driver");

		// 2.获取连接对象
		String url = "jdbc:mysql://localhost:3306/atguigudb";
		String username = "root";
		String password = "123456";
		Connection connection = DriverManager.getConnection(url, username, password);

		// 3.获取执行 SQL 语句的对象
		Statement statement = connection.createStatement();

		// 4.编写 SQL 语句执行,得到返回的结果集
		String sql = "select emp_id, emp_name, emp_salary, emp_age from t_emp";
		ResultSet resultSet = statement.executeQuery(sql);

		// 5.处理结果:遍历 resultSet 结果集
		while (resultSet.next()) {
			int empId = resultSet.getInt("emp_id");
			String empName = resultSet.getString("emp_name");
			double empSalary = resultSet.getDouble("emp_salary");
			int empAge = resultSet.getInt("emp_age");
			System.out.println(empId + "\t" + empName + "\t" + empSalary + "\t" + empAge);
		}

		// 6.释放资源(先开后关)
		resultSet.close();
		statement.close();
		connection.close();
	}
}

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

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

相关文章

通信工程学习:什么是ICP网络内容服务商

ICP:网络内容服务商 ICP,全称Internet Content Provider,即网络内容服务商,是指那些通过互联网向用户提供各种类型内容服务的组织或个人。ICP在数字化时代扮演着至关重要的角色,它们不仅是信息的传播者,更是…

微服务获取用户信息和OpenFeign传递用户

问题一: 网关已经完成登录校验并获取登录用户身份信息。但是当网关将请求转发到微服务时,微服务又该如何获取用户身份呢? 由于网关发送请求到微服务依然采用的是Http请求,因此我们可以将用户信息以请求头的方式传递到下游微服务…

机器人技术基础(1-3章坐标变换)

位置矢量的意思是B坐标系的原点O相对于A坐标系的平移变换后的矩阵: 齐次坐标最后一个数表示缩放倍数: 左边的是T形变换矩阵,右边的是需要被变换的矩阵:T形变换矩阵的左上角表示旋转,右上角表示平移,左下角最…

使用 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力

通过 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力 文章目录 前言一、机密计算二、使用 NVIDIA H100 Tensor Core GPU 的 Azure 机密计算1. 安全功能2. 可扩展性和可编程性三、场景1. 模型机密性2. 推理/提示机密性3. 使用私有数据进行微调4. 多方培训结论前言 这是…

71.【C语言】动态内存管理(重点)(4)

本文为数据结构打下基础 备注:数据结构需要掌握指针,结构体和动态内存管理 目录 6.常见的动态内存的错误 1.对空指针解引用 2.对动态空间的越界访问 3.对非动态内存空间进行free释放 4.使用free只释放开辟的内存空间的一部分 5.对同一块动态内存多次释放 6.动态开辟的…

多线程编程-定时器

定时器相当于一个“闹钟”,在日常生活中,我们需要闹钟的辅佐,在代码中,也经常需要“闹钟”机制(网络通信中经常需设定一个超时时间)。 一.定时器的使用 在Java标准库中,也停供了定时器的实现。…

华为OD机试 - 约瑟夫问题(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

日语发音

这里写目录标题 一个视频教你搞懂日语音调!【日语入门课】小白入门轻松学!最全的日语零基础教程合集!唱儿歌学日语~(已完结) 一个视频教你搞懂日语音调! 中文 阴平(第一声&#xff…

【d61】【Java】【力扣】【递归】3304. 找出第 K 个字符 I

思路 递归考虑:就像正常一样想出来思路,然后递归调用的地方,当作一个已经确定的量(可直接说一个值,这样就不会一直向下层想) 注意绝对不要在递归调用的地方一直往下层想,绝对不要,…

C++面试速通宝典——7

150. 数据库连接池的作用 数据库连接池的作用包括以下几个方面: 资源重用:连接池允许多个客户端共享有限的数据库连接,减少频繁创建和销毁连接的开销,从而提高资源的利用率。 统一的连接管理:连接池集中管理数据库连…

传感器模块编程实践(一)AS608指纹模块简介及驱动源码

文章目录 一.概要二.AS608模块主要技术指标三.AS608模块接线说明四.AS608模块通讯协议介绍五.AS608模块指纹录入与刷指纹流程六.STM32单片机与AS608模块指纹录入与刷指纹实验1.硬件准备2.软件工程3.软件主要代码4.实验效果 七.CubeMX工程源代码下载八.小结 一.概要 AS608 指纹…

打印机驱动安装教程-共享打印机修复工具-打印机扫描教程

金舟打印机驱动修复软件是驱动下载软件,无法解决打印机报错、打印异常、打印机无法连接等问题。 Part 1:打印机驱动安装教程 第一步:确定电脑上的打印机服务已启动 1.1右击桌面的“此电脑”然后点击“管理”。 1.2点击左侧任务栏中的“服务…

传奇GOM引擎架设好进游戏后提示请关闭非法外挂,重新登录,如何处理?

今天在架设一个GOM引擎的版本时,进游戏之后刚开始是弹出一个对话框,提示请关闭非法外挂,重新登录,我用的是绿盟登陆器,同时用的也是绿盟插件,刚开始我以为是绿盟登录器的问题,于是就换成原版gom…

推理攻击-Python案例

1、本文通过推理攻击的方式来估计训练集中每个类别的样本数量、某样本是否在训练集中。 2、一种简单的实现方法:用模型对训练数据标签进行拟合,拟合结果即推理为训练集中的情况。 3、了解这些案例可以帮助我们更好的保护数据隐私。 推理攻击(…

华为最新业绩出炉!上半年营收4175亿元,同比增长34%!

华为2024年上半年经营业绩分析:稳健发展,符合预期 [中国,深圳,2024年8月29日] 今日,华为发布了其2024年上半年的经营业绩,整体表现稳健,结果符合预期。在复杂多变的全球市场环境下,华为凭借强大的创新能力和市场洞察力,实现了销售收入和净利润的显著增长。 上半年,华…

ubunut声卡配置 播放视频没有声音的解决方法 蓝牙问题

文章目录 🌕ubuntu22.04网页没有声音,声卡提示Dummy Output🌙方法一:(亲测可行)切换内核🌙方法二:(推荐)ubuntu22.04用pipewire替代pulseaudio⭐下载安装pipe…

Operational Concept(OpsCon)与Concept of Operations(ConOps)概念区分

Operational Concept(OpsCon)与Concept of Operations(ConOps)概念区分 在系统工程相关资料中会看到两个概念,一个是Operational Concept(OpsCon),另一个是Concept of Operations(ConOps&#x…

车载诊断协议DoIP系列 —— DoIP APP 应用层(AL)

车载诊断协议DoIP系列 —— DoIP APP 应用层(AL) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝…

十四、深入理解Mysql索引底层数据结构与算法

文章目录 一、索引的本质1、索引是帮助MySQL高效获取数据的排好序的数据结构2、索引的数据结构3、数据结构可视化网站 二、常见数据结构介绍1、B-Tree2、BTree(B-Tree变种)3、Hash结构 三、存储引擎的索引实现1、MyISAM存储引擎索引实现MyISAM索引文件和…

数理统计(第1章第2节:一些常用的抽样分布)

目录 统计量的概率分布称为“抽样分布” 1. 正态母体的子样平均数的抽样分布 正态分布 2. 卡方分布 3. t分布 4. F分布 5. 例题 6. 总结 统计量的概率分布称为“抽样分布” 1. 正态母体的子样平均数的抽样分布 正态分布 若随机变量X的概率密度为: 则称X服…