MySQL---JDBC编程

news2024/9/25 23:15:22

文章目录

  • 什么是JDBC?
  • JDBC的工作原理
  • JDBC的使用
    • 添加依赖
    • 创建数据源DataSource
    • 创建数据库连接Connection
    • 创建操作命令Statement
    • 执行SQL指令
    • 释放资源
  • 通过JDBC演示CRUD
    • 新增
    • 查询
    • 修改
    • 删除

什么是JDBC?

JDBC:Java Database Connectivity,即Java数据库连接。是一种用于执行SQL语句的Java API,它是Java的数据库连接规范。

API:Application Programming Interface,即应用程序编程接口。它提供了一组类/方法,可以让程序员直接调用。

不同的数据库厂商都会提供各自的一组数据库API供程序员使用,这样就会带来两个问题:1.程序员的学习成本太高,得学习多种API来使用不同的数据库 2. 当哪一天需要给项目更换数据库时,改动非常大,不方便。 而Java是一门可移植性高的语言,它为了解决这些问题就提供了一组统一风格的数据库API,然后要求各个厂商适配这些API,程序员只要掌握这一组API就可以操作各种数据库了,这组API就叫做JDBC

JDBC的工作原理

JDBC为多种关系型数据库提供了统一访问方式,

在这里插入图片描述

JDBC的使用

添加依赖

  1. 从网络获取到驱动资源
  2. 创建一个与src同级的目录,把刚才的驱动jar包拷贝进去

在这里插入图片描述
3. 右击新建好的目录,点击 Add as Library

在这里插入图片描述

创建数据源DataSource

		//1.创建数据源对象
		DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/learning?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("xu0123.");

创建数据库连接Connection

		//2.让代码和数据库服务器建立连接
        Connection connection = dataSource.getConnection();

创建操作命令Statement

		//3.构造要执行的SQL语句
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要插入的学号");
        int id = scanner.nextInt();
        System.out.println("请输入要插入的姓名");
        String name = scanner.next();

        String sql = "insert into student values(?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);

执行SQL指令

		//4.执行SQL语句
        int n = statement.executeUpdate();

释放资源

		//5.关闭释放资源
        statement.close();
        connection.close();

通过JDBC演示CRUD

新增

查询

修改

删除

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

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

相关文章

10000阅读量感言

目录 前言 10000阅读量 回忆 感谢 结尾 前言 2023年10月25日20点26分,我终于突破10000阅读量了!为了记录下来,我写下了这篇博客。 10000阅读量 以上是我卡点截的一张图,我当时看到自己10000阅读量还是很惊喜的,还…

算法训练营第一天 704 .二分查找、27.移除元素

算法训练营第一天 | 704 .二分查找、27.移除元素 ( 一 )、704 二分查找 题目链接:https://leetcode.cn/problems/binary-search/description/ 解题思路: ​ 数组 nums 是有序排列的,二分查找每次都是对半查询&…

【离散数学必刷题】命题逻辑(第一章 左孝凌)刷完包过!

复习16题: 【1】下列哪个语句是真命题() A、今天天气真好! B、我正在说谎。 C、如果7 2 10 ,那么4 6 5。 D、如果7 2 9 , 则 4 6 5。 对于A,只有具有确定真值的陈述句才是命题&#xf…

TotalFinder v1.15.1(Finder代替工具)

TotalFinder是一款功能强大的文件管理工具,为Mac用户提供了一整套增强的文件管理功能和工具,能够更高效地管理和组织文件。 TotalFinder的主要特点包括: 为Finder添加了选项卡功能,允许多个文件夹在同一个窗口中同时打开。用户可…

一文精通C++ -- 继承

前言:继承是C类和对象三大特性中关键的一环,上承封装,下接多态,C中的继承是一种面向对象编程的概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性…

Java常见限流方式

Java常见限流方式 1、计数限流2、固定窗口限流3、滑动窗口限流4、漏桶算法5、令牌桶算法 1、计数限流 例如系统能同时处理 100 个请求,保存一个计数器,处理了一个请求,计数器就加一,一个请求处理完毕之后计数器减一。 每次请求来…

学校档案管理系统软件-学校数字档案室解决方案

学校档案管理系统软件是一个用于存储和管理学校重要文档和资料的软件系统,该软件通常包括档案录入、查询、统计、备份等模块,它通过电子化记录、分类和整理学校档案资料,实现了学校档案的高效管理和利用。 专久智能学校数字档案室解决方案需要…

N1中openwrt实现不插网线就能上网,通过wifi连接路由器

环境说明: 路由器:N1盒子 系统版本:openwrt 前言 既然想用这个功能,基本上就是没有网线连接盒子了,不仅限于N1盒子只要是openwrt系统就可以 创建接口 在openwrt界面上依次点击“网络”->“无线”,第一…

正点原子嵌入式linux驱动开发——RGB转HDMI

目前大多数的显示器都提供了HDMI接口,HDMI的应用范围也越来越广,但是STM32MP157这颗芯片原生并不支持HDMI显示。可以通过RGB转HDMI芯片将RGB信号转为HDMI信号,这样就可以连接HDMI显示器了。本章就来学习一下如何在正点原子的STM32MP1开发板上…

听说嵌入式门槛很高,值不值得学习?工资怎么样?

今日话题,嵌入式门槛很高,值不值得学习呢?关于嵌入式领域的门槛和薪酬,我有着五年的实际经验,我的看法是嵌入式岗位的门槛一般来说并不太高。只需掌握一些C语言编程和单片机知识,制作一个简单的电子产品就可…

会声会影2024 无损激活解锁完整旗舰版大师套装

会声会影2024 无损激活解锁完整旗舰版大师套装是功能非常强大的视频编辑软件,非常专业的使用效果,会声会影2024中文版可以针对剪辑电影进行使用,非常强大的色彩校正方式,无论什么光线下进行拍摄,都可以通过后期进行调整…

LinkedHashMap 源码解析

目录 一. 前言 二. 源码解析 2.1. 类结构 2.2. 成员变量 2.3. 构造方法 2.4. accessOrder 2.5. 添加元素 2.6. 获取元素 2.7. 删除元素 2.8. 迭代器 三. LRU简单实现 一. 前言 HashMap元素插入是无序的,为了让遍历顺序和插入顺序一致,我们可以…

海外网红评论:激发更高转化率的关键

随着社交媒体的兴起,海外网红营销已经成为企业推广产品和服务的一种重要方式。然而,在众多的海外网红营销策略中,网红评论的重要性往往被低估。事实上,海外网红评论可以在提高转化率方面发挥关键作用。本文Nox聚星将和大家深入探讨…

linux中好玩的数据流定向和管道命令一

知识点复习: 什么是数据流定向,个人理解就是将 一些结果信息不打印在屏幕上,而是定位在某一个文件里面 ll /wdf > file 会覆盖file的原内容 ll /wdf >> 会追加到原文件后面 比如在自己的目录新建1.TXT, 2.txt ll /…

制药企业计算机化系统验证(CSV)的重要性

上次我们介绍了>>《制药机械(设备)计算机化系统验证指南》,本期我们就来展开讲讲制药企业为什么需要以及如何进行计算机化系统验证。 计算机化系统验证(Computerized Systems Validation,简称CSV)是一种确保计算机化系统在药…

Java 新手如何使用Spring MVC 中的查询字符串和查询参数?

文章目录 什么是查询字符串和查询参数?步骤 1:步骤 2:步骤 3:步骤 4: 结论 🎉欢迎来到架构设计专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章专栏&…

利用Jmeter对WebRTC应用进行压力测试

说明:WebRTC是一款开源的多人即时视频API,与一般的http请求不同,webrtc应用实际压力主要是码流 最近负责了一个WebRTC的视频会议性能测试,也蛮有意思的,因此将压测方案、思路记录下来 一、测试思路 1、WebRTC多人会…

安科瑞余压监控系统

安科瑞 崔丽洁 机械加压送风系统中为什么要设计旁通阀控制加压送风的正压值?火灾发生后,又能起到什么作用呢? 发生火灾时,绝大多数的人员伤亡不是因为火,而是烟气,随着可燃物的燃烧产生大量的高温烟气&…

【数据结构与算法】二叉树的知识讲解

目录 一,二叉树的结构深入认识 二,二叉树的遍历 三,二叉树的基本运算 3-1,计算二叉树的大小 3-2,统计二叉树叶子结点个数 3-3,计算第k层的节点个数 3-4,查找指定值的结点 一,二叉…

栈(Stack)的概念+MyStack的实现+栈的应用

文章目录 栈(Stack)一、 栈的概念1.栈的方法2.源码分析 二、MyStack的实现1.MyStack的成员变量2.push方法3.isEmpty方法和pop方法4.peek方法 三、栈的应用1.将递归转化为循环1.调用递归打印2.通过栈逆序打印链表 栈(Stack) 一、 栈…