java -- JDBC

news/2024/9/20 3:57:17 标签: java, 数据库, oracle

一.JDBC概述:

java语言操作数据库中的数据。

1.JDBC概念

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于
执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以
为不同的关系型数据库提供统一访问,它由一组用Java语言编写的
接口和类组成。

JDBC是接口,由数据库生产厂商提供规范的实现类称为驱动

Java程序,JDBC接口Mysql 实现类  驱动MySql
Oracle 实现类 驱动 Oracle

二.JDBC入门

1 准备MySql数据

2 导入驱动

官网下载数据库连接驱动jar包。
https://downloads.mysql.com/archives/c-j/
创建Java项目,在项目下创建lib文件夹,将下载的驱动jar包复制到
文件夹里。

选中Jar包右键->Add as Library,与项目集成。

3 代码实现

  • DriverManager(类): 用于注册驱动和获取连接
  • Connection(接口): 表示与数据库创建的连接
  • Statement(接口): 执行SQL语句的对象
  •  ResultSet(接口): 结果集或一张虚拟表


 以上接口由MySQL驱动程序jar包,提供实现类

三.JDBC API详解

1. DriverManager          注册驱动

获得链接

static Connection getConnection(String url, String
user, String password)
String url:连接数据库的URL,用于说明连接数据库的位置
String user:数据库的账号
String password:数据库的密码
连接数据库的URL地址格式:协议名:子协议://服务器名或IP地址:端
口号/数据库名?参数=参数值&参数=参数值

3. Connection

接口的实现在数据库驱动中。所有与数据库交互都是基于连接对象
的。
在建立连接时,需要指定数据库URL、用户名、密码。
Connection 接口还负责管理事务
获取执行 SQL 的对象

  • 普通执行SQL对象,Statement createStatement()
  • 预编译SQL的执行SQL对象,PreparedStatement prepareStatement(sql)

4. Statement 

接口的实现在数据库驱动中。Statement接口用于执行 SQL 语句并
数据库进行交互。通过 Statement对象,可以向数据库发送 SQL
语句并获取执行结果。

  • int executeUpdate():执行insert update delete语句
  • ResultSet executeQuery():执行select语句

5. PreparedStatement
PreparedStatement是 Statement接口的子接口,用于执行预编译
的 SQL 查询

  • 预编译SQL语句:在创建PreparedStatement时,就会预编译SQL语句,也就是SQL语句已经固定。
  • 防止SQL注入:将数据作为参数传递到SQL语句中,采用?占位符的方式,有效防止传入关键字导致SQL注入问题。让参数就是参数
  • 性能提升:PreparedStatement是预编译SQL语句,同一SQL语句多次执行的情况下,可以复用,不必每次重新编译和解析。

实列

登录

 五.JDBC工具类的抽取

创建配置文件,配置文件在resource目录下,并且要将resources目录标记为资源文件的根路径,扩展名是properties


http://www.niftyadmin.cn/n/5666519.html

相关文章

C++ | Leetcode C++题解之第405题数字转换为十六进制数

题目: 题解: class Solution { public:string toHex(int num) {if (num 0) {return "0";}string sb;for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val > 0) {char digit val …

瓦工交底你家做了吗?真的很重要

有一个工地开始贴瓷砖,和业主约着一块去现场瓦工交底,业主买的瓷砖很有意思      先说一下为什么瓦工交底,瓦工包含的有包下水管,做防水贴墙砖和地砖。      瓦工交底最主要的就是确定墙砖和地砖的排版方式。      如…

小猫回收站(Windows 11)

注意:需要准备素材!!! 也下面可以直接拿走(需要自己去转.ico格式哈): 点击键并单击设置。Windows选择个性化,然后单击主题。单击桌面图标设置。在下一个对话框中,确保勾选…

解决VSCode文件的中文GBK和UTF-8编码之间乱码问题

NOTE:近日笔者在使用VSCode编码环境的时候,出现了中文和UTF-8两者之间乱码的问题,特编写本片文章,以作学习记录。 1.需求 用VSCode打开外部的GBK2312编码文件,想在VSCode中统一以UTF-8编码查看(笔者推荐U…

Datawhile 组队学习Tiny-universe Task01

Task01:LLama3模型讲解 仓库链接:GitHub - datawhalechina/tiny-universe: 《大模型白盒子构建指南》:一个全手搓的Tiny-Universe 参考博客:LLaMA的解读与其微调(含LLaMA 2):Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子…

圆周阵列元件的间距增加操作方法

在进行器件圆周阵列时,内圈的角度和外圈的旋转角度都相同,由于内圈的圆周长小于外圈的圆周长,有可能在内圈造成部分元件之间有两个焊盘会有覆盖的情况,此时需要对内圈的元件位置进行微调,需要增加在同一半径位置的元件…

代码随想录_刷题笔记_第二次

链表 — 环形链表 题目链接:142. 环形链表 II - 力扣(LeetCode) 题目要求: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点&#xff0c…

springbootKPL比赛网上售票系统

基于springbootvue实现的KPL比赛网上售票系统 (源码L文ppt)4-068 4.2 系统结构设计 架构图是系统的体系结构,体系结构是体系结构体系的重要组成部分。KPL比赛网上售票系统的总体结构设计如图4-2所示。 图4-2 系统总体架构图 4.3数据…