JDBC概述和使用详解

文章目录

    • JDBC
      • 如何使用JDBC?
        • Java 操作 数据库

JDBC

  • 概述:Java Database Connectivity , Java数据库连接,通过Java语言操作数据库
  • JDBC本质:官方定义的一套操作所有关系型数据库的规则,即接口。
    • 各个数据库厂商去实现这套接口,提供数据库驱动 jar 包,我们可以使用这套接口 JDBC 编程,真正执行的代码是驱动 jar 包中的实现类


如何使用JDBC?

  • mysql jar 包下载地址

    1. 官网下载:https://dev.mysql.com/downloads/connector/j/
    2. Maven中央仓库在线下载:https://mvnrepository.com/artifact/mysql/mysql-connector-java
    3. GitHub下载:https://github.com/mysql/mysql-connector-j/releases
    

    根据自己的操作系统选择,如果是 Windows选择 Platform Independent 版本根据自己需求选择

  • 下载后,首选解压,找到如下图所示的jar包

  • 打开 IDEA,首先在项目目录下,或者 src 同级创建一个 【libs】文件夹,将刚找到的 jar 包复制过来

  • 注意,上图,jar包前有小箭头,你刚导入时,是没有的,接下来【右键单击】,找到【add as library】点击

  • 点击后,出现下图界面,点击【OK】

  • 然后 jar 包前出现小箭头,点击小箭头,出现如下界面,就表示我们将 jar 包导入成功

  • 记得开启 MySQL 服务,接下来我们用 Java 代码操作 数据库。

Java 操作 数据库
  • 操作步骤

    1. 驱动 jar 包导入,上述步骤已经实现
    2. 注册驱动,将驱动类加载到内存中
    3. 获取数据库连接对象 Connection
    4. 定义 SQL 语句
    5. 获取执行 SQL 语句的对象 Statement
    6. 执行 SQL ,接收返回结果
    7. 处理结果
    8. 释放资源
  • Java代码如下

    //1、导入驱动jar包,右键add as library  
    //2、注册驱动,本质就是将这个类加载进内存中  
    Class.forName("com.mysql.cj.jdbc.Driver");  
    //3、获取数据库的连接对象, test 是数据库名称,要选择自己的数据库  
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "用户名", "自己的密码");  
    //4、定义一个sql语句  
    String sql ="update account set balance=500 where id=1";  
    //5、获取执行Sql的对象  
    Statement stmt = con.createStatement();  
    //6、执行SQL  
    int count = stmt.executeUpdate(sql);  
    //7、处理结果  
    System.out.println(count);  
    //8、释放资源  
    stmt.close();  
    con.close();  
    
  • 数据库代码如下

    -- 创建一个数据库
    CREATE DATABASE IF NOT EXISTS test CHARACTER SET utf8;
    -- 使用数据库
    USE test;
    -- 创建一个账户表
    CREATE TABLE account(
    	id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARCHAR(20),
        balance DOUBLE
    );
    -- 向账户表中添加数据
    INSERT INTO account(NAME , balance) VALUES('张三',1000),('李四',1000);
    -- 查询账户表
    SELECT * FROM account;
    

    执行 Java 代码后,控制台返回 1 ,返回数据库查看,可以看到 张三 的钱变成了 500


上述只是简单的使用,接下来,看这篇文章:详解JDBC各个对象

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pl/sql程序块的使用

-- Created on 2024-01-15 by ADMINISTRATOR declare -- Local variables hererecord_tablename varchar2(100);---test_record表名record_StartNo integer(19);---test_record开始编号temp_No integer(19);maxnbbh integer(19);nCnt integer : 20;fi…

安卓开发-day

一、安卓项目结构 1、manifests文件夹 Android系统配置文件夹,包含一个AndroidManifest.xml文件; AndroidMainifest.xml文件是每个android项目必须要包含的文件(项目唯一),创建项目时默认就会生成这个文件&#xff0…

RDMA Send Receive操作详解

1. 前言 RDMA指的是远程直接内存访问,这是一种通过网络在两个应用程序之间搬运缓冲区里的数据的方法。RDMA与传统的网络接口不同,因为它绕过了操作系统。这允许实现了RDMA的程序具有如下特点: 绝对的最低时延 最高的吞吐量 最小的CPU足迹 &a…

人工智能 AI 如何让我们的生活更加便利

每个人都可以从新技术中获益,一想到工作或生活更为便利、简捷且拥有更多空余时间,谁会不为之高兴呢?借助人工智能,每天能够多一些空余时间,或丰富自己的业余生活,为培养日常兴趣爱好增添一点便利。从电子阅…

ubuntu18.04 安装mysql(命令)

1.安装MySQL #命令1 sudo apt-get update #命令2 sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 2.2 检查mysql服务状态 systemctl status mysql.service 3.配置远程访问 在Ubuntu下MySQL缺省是只允许本地访问的 3.1 首先用根用户进入…

CentOS安装maxwell

CentOs安装maxwell 一、简介二、准备工作三、安装1、下载安装包2、解压3、编写配置文件4、启动maxwell5、验证6、停止maxwell 四、说明1、更新数据2、插入数据3、删除数据 五、遇到问题 一、简介 maxwell是由美国Zendesk公司开源,它通过读取mysql的binlog日志&#…

大语言模型系列-Transformer

文章目录 前言一、Attention二、Transformer结构三、Transformer计算过程1. 编码器(Encoder)1)Self-Attention层2)Multi-Head-Attention层3)Add & Norm层 2. 解码器(Decoder)1)M…

CC工具箱使用指南:【坡度细碎图斑融合】

一、简介 这算是一个定制的工具,可惜没用上,扔掉也可惜,就放出来,可能会有同样需求的人用得上。 在ArcGIS中通过DEM生成的坡度是栅格格式的,再经过栅格转矢量后,会存在一些碎图斑。 这个工具的目的是&am…

从零开始学习Zeppelin:大数据可视化分析的交互式开发系统!

介绍:Apache Zeppelin是一个基于Web的交互式开发系统,主要用于进行大数据可视化分析。其核心概念是notebook,所有的操作都可以在notebook中完成。Zeppelin提供了一套非常全面的数据分析解决方案,支持数据采集、数据发现、数据分析…

7. UE5 RPG修改GAS的Attribute的值

前面几节文章介绍了如何在角色身上添加AbilitySystemComponent和AttributeSet。并且还实现了给AttributeSet添加自定义属性。接下来,实现一下如何去修改角色身上的Attribute的值。 实现拾取药瓶回血功能 首先创建一个继承于Actor的c类,actor是可以放置到…

力扣精选算法100题——四数之和(双指针专题)

上一篇讲到(俩数之和and三数之和)这一篇我要来解析四数之和,四数之和建立在三数之和的基础上,我们需要熟练掌握三数之和的算法原理,如果大家三数之和还没弄清楚,请点击三数之和and二数之和链接即可看到。 三…

Vue3新特性defineModel()便捷的双向绑定数据

官网介绍 传送门 配置 要求: 版本: vue > 3.4(必须!!!)配置:vite.config.js 使用场景和案例 使用场景:父子组件的数据双向绑定,不用emit和props的繁重代码 具体案例 代码实…

Unity URP切换品质和Feature开关的性能问题

现在对我的项目进行安卓端发布,需要切换品质和一些Feature开关。 我是这样做的。 划分品质 首先Renerer分为2个Android和PC,图中其他不用参考。 每个副本的URP Asset分为pc和android,例如图中的 hall和hall_android。 我们可以看到hall用的…

[设计模式Java实现附plantuml源码~创建型] 集中式工厂的实现~简单工厂模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

conda install命令无法安装pytorch

由于网络问题,直接采用conda install命令可能无法直接下载对应的cuda包。 方法一:采用pip命令替代 步骤1:切换pip的源为国内源: 若只是临时切换: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-p…

SSM(Spring,SpringMVC,MyBatis)整合项目

文章目录 SSM(Spring,SpringMVC,MyBatis)整合项目1.创建表2.创建工程3.pom.xml4.log4j.properties5.db.properties6.applicationContext-dao.xml7.applicationContext-tx.xml8.applicationContext-service.xml9.springmvc.xml10.web.xml11.pojo12.mapper13.service14.controlle…

学习VUE-安装环境

下载安装Node.js 官网下载最新版本:https://nodejs.org/en/download/ 解压zip包 由于node.js默认安装了npm所以不用额外配置全局命令就可以使用npm命令 在cmd中输入node -v 和 npm -v就可以得到版本信息 配置一下目录: node.js环境配置 配置镜像 安装…

mysql 容器化安装(docker)离线和在线

前言:在部署hive或airflow 升级过程中,总需要一个对应的数据库存储元数据,一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql …

WPF异步高效绘制过万级别的矩形图形矢量图,无限放大缩小,显示效果极佳

WPF异步高效绘制过万级别的矩形图形矢量图&#xff0c;无限放大缩小&#xff0c;显示效果极佳&#xff0c;先看效果如下&#xff1a; 想在WPF上绘制图形&#xff0c;有哪些方式&#xff1f; 1.通过Canvas静态绘图方法&#xff0c;例如&#xff1a; <Canvas><Ellips…

从前端角度浅谈性能 | 京东物流技术团队(转载)

1 前言 自网站诞生以来&#xff0c;页面白屏时间、用户交互的响应速度等一直都是开发者关心的问题&#xff0c;这直接影响了一个网站能否为用户的浏览提供舒适的服务&#xff0c;而这种舒适度&#xff0c;直接关系着对用户的吸引力&#xff0c;毕竟谁都不能忍受一个页面长达10秒…