WEB基础--JDBC基础

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.执行SQLstatement.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.hqwc.cn/news/681189.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nature《自然》期刊文献怎么在家查看下载

nature《自然》期刊我们都知道,是世界上历史悠久的、最有名望的科学杂志之一。下载该期刊文献是需要使用权限的,如果你没有nature《自然》期刊的资源,又该如何获取呢?请看本文的经验分享。 一、先百度“文献党下载器” 在文献党下…

Ansible--Templates 模块 Tags模块 Roles模块

一 Templates 模块 ①Jinja是基于Python的模板引擎。Template类是Jinja的一个重要组件,可看作一个编译过的模 板文件,用来产生目标文本,传递Python的变量给模板去替换模板中的标记。 ②在配置文件中,会有一些数据(如…

如何确保UDP文件传输工具有最低稳定的传输速度?

在当前日新月异的数字时代背景下,文件传输工具已经成为我们日常生活与工作中不可或缺的一部分,尤其针对那些频繁涉及即时数据交互与多媒体流通的场景。 UDP协议,以其突出的高速传输与低延迟特性,脱颖而出成为众多用户的首选。不过…

学习笔记:【QC】Android Q : telephony-phone 模块

一、phone init 流程图 高清的流程图参考:【高清图,保存后可以放大看】 二、phone MO 流程图 高清的流程图参考:【高清图,保存后可以放大看】 三、phone MT 流程图 高清的流程图参考:【高清图,保存后可以…

旧物回收小程序开发:打造绿色生活,共筑美好未来

随着环保意识的逐渐增强,我们越来越意识到旧物回收的重要性。为了响应这一趋势,我们精心研发了一款旧物回收小程序,旨在通过科技的力量,让每个人都能够轻松参与到旧物回收的行动中来,共同为地球环保贡献一份力量。 一…

机器学习每周挑战——基于统计性分析和回归的球员薪资预测

背景描述 本数据集的工资数据截至 2023-24 赛季夏季转会窗口。数据提取自游戏《Football Manager 2024》,包含 40,000 名球员的数据。 FM24 是一款深受欢迎的足球模拟经营游戏。玩家将扮演一位足球经理,负责经营一支足球俱乐部,通过合理的人…

DDR5和LPDDR4/5 命令解析

关键名称介绍 DDR5 SDRAM和LPDDR4/5都采用了高级的命令集来支持更高效的内存管理和操作,其中“Multi-purpose command (MPC)”、“Mode Register Read (MRR)”、“Mode Register Write (MRW)”,以及“Write Pattern Command”是几种关键的命令类型,它们在内存初始化、配置和…

家装空间3D建模素材:打造理想家园的必备工具

在家装过程中,设计师和业主往往需要通过3D建模技术来实现对空间的精确规划和设计。3D建模素材作为这一领域的基础元素,为设计师提供了丰富的想象空间,帮助他们更好地呈现业主的期望和需求。 这些3D建模素材可以涵盖各种家装元素,如…

喜讯!莱佛士学生成功入围2024C-IDEA设计奖提名

近日,由澳大利亚平面设计协会、韩国视觉信息设计协会、波兰波兹南设计节、日本字体设计协会(JTA)、俄罗斯设计师协会、中国台湾高雄广告创意协会多家不同的国际设计机构联合发起组织的国际性设计赛事—— C-IDEA设计奖,公布了2024…

vue3创建响应式数据ref和reactive的区别

reactive和ref在Vue.js中都是用于创建响应式数据的,但它们之间存在一些区别 定义数据类型不同。ref主要用于定义基本数据类型,如字符串、数字、布尔值等;reactive主要用于定义对象(或数组)类型的数据,但re…

深度学习:基于TensorFlow 和 Keras,使用神经网络回归模型预测 IPL 分数

前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…

小米SU7智能座舱揭秘:五音区语音交互,智能语音新体验

“小爱同学,打开右后方车门。” “小爱同学,前面的山是什么山?” “小爱同学,有没有离簋街和望京都比较近的川菜馆?” “小爱同学,右后视镜向外调20%,左后视镜往里调10%。” “小爱同学&#xf…