WEB基础--JDBC基础

news2024/12/28 5:26:28

JDBC简介

JDBC概述

数据库持久化介绍

jdbc是java做数据库持久化的规范,持久化(persistence):把数据保存到可掉电式存储设备(断电之后,数据还在,比如硬盘,U盘)中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固化"

常见的持久化

文本文件(通过记事本等输入文本保存,程序中很少使用),

XML(把数据存在XML,但是XML查找,删除,修改 也是比较麻烦),

数据库(把数据存在数据库,可以直接通过SQL取到,比较容易)

​    结论:持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中,只是比较麻烦。

​    要把数据保存到数据库\-\--通过JAVA代码去操作数据库(通过JDBC访问数据库)

为什么要使用JDBC

因为把要数据持久化,持久化数据的最好方式就是把数据保存到数据库,而Java要数据保存到数据到数据库,就需要使用JDBC

JDBC接口说明

JDBC详解

是一种用于执行SQL语句(DML,DDL,DQL)的Java API,可以为多种关系数据(oracle,mysql,SQL server)提供统一访问,**它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口**,使数据库开发人员能够编写数据库应用程序

如何使用JDBC:jdbc是java定义的进行数据库持久化的规范,java程序员直接调用java集成在rt.jar包中的接口,每个数据库厂商提供驱动jar包,我们如果要想操作对应的数据库。就导入对应的驱动,然后直接调用接口就OK

JDBC简单快速入门

IDEA连接数据库

点击右侧的Database,在弹出页面输入对应信息

点击Test Connection,进行相关文件的下载与安装

导入JDBC jar包

注意:一定要导入自身计算机所安装的MySQL数据库对应大版本的mysql jar包,不然会导致一系列问题。添加完成后,将jar包添加为库,并重构项目即可。

使用JDBC操作数据库

加载驱动
 Class.forName("com.mysql.cj.jdbc.Driver");
创立连接
String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
String username="root";
String password="123456";
connection = DriverManager.getConnection(url,username,password);
获取要执行的SQL语句
  statement=connection.createStatement();
  String sql="DELETE from  product WHERE  id=21";
执行SQL语句
statement.execute(sql);
释放资源
statement.close();
connection.close();

运行结果:id为21的数据被删除

完整代码:

import java.sql.*;

public class JDBC1 {
    public static void main(String[] args) throws Exception {
        Statement statement=null;
        Connection connection=null;
        try {
            //贾琏欲执事
            //1.加载JDBC连接
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.连接数据库
            String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
            String username="root";
            String password="123456";
            connection = DriverManager.getConnection(url,username,password);
            //3.获取SQL语句
            statement=connection.createStatement();
            String sql="DELETE from  product WHERE  id=21";
            //4.执行SQL
          statement.execute(sql);
        }catch (Exception e){
                e.printStackTrace();
        }finally {
            //5.释放资源
            try {
                statement.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
            try {
                connection.close();
            }catch (SQLException e){
                e.printStackTrace();
            }

        }

    }
}
写在最后

JDBC是JAVA操作数据的规范,现在基本都是以Mybatis为主,但Mybatis的底层仍然为JDBC。笔者之前面试的时候,被问到相关Mybatis的题目,都是偏底层JDBC为主。会了JDBC,Mybatis自然而然便会十分顺手。笔者小,中,大厂均有面试经历,每日分享JAVA全栈知识,希望能与大家共同进步。

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

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

相关文章

oc渲染器如何设置调渲染更快?oc云渲染加速助力

OC渲染器是Cinema 4D软件中广泛使用的渲染工具,它利用GPU进行硬件加速渲染,具备强大的计算性能。这使得它能够为产品和动画制作人员提供卓越的渲染质量。此外,OC渲染器还支持云渲染技术,这在需要进行大规模渲染任务时非常有用&…

我独自升级崛起账号注册 我独自升级怎么注册账号

近期,《我独自升级》这部动画凭借爆棚的人气,在各大平台上掀起了一阵观看热潮,其影响力不容小觑。借此时机,韩国游戏巨头网石集团敏捷响应,顺势推出了同名游戏《我独自升级:ARISE》,为粉丝们搭建…

微信社交平台的未来展望,2024微信的重点发展趋势

WeChat社交媒体平台概述 截至2024年,WeChat的月活跃用户超过13亿,预计到今年年底,WeChat用户将超过16.7亿。当然,全球WeChat用户数量的数字表明,该应用程序在世界上最受欢迎的应用程序中排名第五(仅次于Fa…

程序员有什么实用神器?

程序员的实用神器 在软件开发的海洋中,程序员的实用神器如同航海中的指南针,帮助他们导航、加速开发、优化代码质量,并最终抵达成功的彼岸。这些工具覆盖了从代码编写、版本控制到测试和部署的各个环节。 程序员常用的一些神器包括&#xf…

强烈推荐-程序员必备工具

uTools 新一代效率工具平台。呼之即来,即用即走,打造你的个人效率助理https://u.tools/?cxdawijbcmx

WebDAV之π-Disk派盘 + 溯记

“溯记”是一款提供丰富功能的时间轴日记应用,旨在帮助用户记录生活中的碎片化想法和事件,并提供便捷的回顾和管理功能。根据您提供的描述,这款应用具有丰富的特性,包括时间轴浏览、多媒体支持、实时存储、模糊搜索、日历视图、故事关联和随机回溯。这些功能将帮助用户记录…

后端常用技能:基于easy-poi实现excel一对多、多对多导入导出【附带源码】

0. 引言 在业务系统开发中,我们经常遇到excel导入导出的业务场景,普通的excel导入导出我们可以利用 apache poi、jxl以及阿里开源的easyexcel来实现,特别easyexcel更是将excel的导入导出极大简化,但是对于一些负载的表格形式&…

python作业五

题目:注册登录 制作一个注册登录模块 注册:将用户填入的账户和密码保存到一个文件(users.bin) 登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那 么登录成功,否则登录失败…

Windows 驱动程序自签名流程

Windows 官方案例https://github.com/microsoft/Windows-driver-samples。编译通过了,都是Test Sign。这里找到一种自签名的方法,记录一下。文章来源https://konata.tech/2020/10/16/signWindowsDriver/ 创建自签名证书 从 Windows PowerShell 3.0 版本…

Spring事件

📝个人主页:五敷有你 🔥系列专栏:Spring⛺️稳中求进,晒太阳 Spring事件 简洁 Spring Event(Application Event)就是一个观察者模式,一个bean处理完任务后希望通知其他Bean的…

QGIS编译

一,安装:OSGeo4W 二,安装:Cygwin64 https://www.cygwin.com/setup-x86_64.exe 三,安装: 安装bison和flex 四)QGIS_3.28 下载QGIS_3.28的源码包 五 环境变量设置: echo off set VS19…

基于springboot实现校园失物招领系统【项目源码+论文说明】

基于springboot实现校园失物招领系统演示 摘要 身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化,身边经常有同学丢失了东西或者衣服而烦恼,为了找到自己心爱的物品疲于奔命,还不…

使用电路仿真软件教学的优势分析

随着科技的飞速发展,电子工程领域对人才的需求与日俱增。为了满足这一需求,教育者们不断探索着更加高效、直观的教学方法。电路仿真软件的出现,为电子工程教学注入了新的活力,它以其独特的优势,成为现代电子工程教育中…

YOLO v6 iou_loss dfl_loss一直为0

Question img record infomation path is:…/mydata/images.train_cache.json Train: Final numbers of valid images: 1248/ labels: 1248. 0.1s for dataset initialization. img record infomation path is:…/mydata/images.val_cache.json Convert to COCO format 100%|█…

Go微服务精讲:Go-Zero全流程实战即时通讯(超清)

go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。 Go微服务精讲:Go-Zero全流程实战即时通讯(超清) go-zero 中的 api,rpc,数据库等涉及的代码,…

Win10子系统wsl开机自启动jar包(nginx、redis、apache2、ssh等)

一. 需求背景 最近在研究nextcloud项目,选择了Win10子系统方案,而win10子系统wsl是通过接口实现的,很多linux上的常规操作在wsl上无法实现,比如配置开机自启动jar包以及其他依赖程序。只能通过windows系统重启时,自动执行脚本,去实现开机自启linux中的相关程序。 二. wsl…

我独自升级崛起怎么下载 游戏下载教程分享

《我独自升级:崛起》这款游戏核心聚焦于激烈的战斗与角色的持续成长。新加入的玩家首要任务是熟悉基础攻击模式,随后深入探索技能组合策略与连贯招式的艺术,同时掌握防守与躲避技巧,这些都是战斗中不可或缺的关键。随着战斗的持续…

Quartz怎么简单创建一个定时执行的任务

1.安装Quartz包 2.编写Job任务 继承 IJob编辑自定义任务 3.调用job,以指定时间策略执行 定时600s执行一次 StdSchedulerFactory factory new StdSchedulerFactory(); IScheduler scheduler await factory.GetScheduler(); await scheduler.Start();// 定义…

数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面

项目目录的管理 前言 在上几篇的文章里面我们完成了基本环境的搭建,整理了项目数据库表结构并且成功的手动的加载了Qt的mysql数据库驱动,现在就要开始完成项目准备工作的最后一步:构建项目目录,一个好的项目离不开一个好的代码组织结构,所以在开始动手写我们这个项…

环形链表(成环的第一个相交的节点在哪)(中等)(证明题)

环形链表(成环的相交的节点在哪)(中等)(证明题) 142. 环形链表 II - 力扣(LeetCode) 题目 解题思路(证明一下) 这里的关键点在于你需要证明LT 然后就可以解题…