当前位置: 首页 > news >正文

java -- JDBC

一.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.mrgr.cn/news/28144.html

相关文章:

  • kafka生产经验——消费者事务
  • 深入理解 SQL_MODE 之 ANSI_QUOTES
  • 进程信号
  • 【Goland】——Gin 框架简介与安装
  • LabVIEW开发相机与显微镜自动对焦功能
  • Liebherr利勃海尔 EDI 需求分析
  • 【AI学习笔记】初学机器学习西瓜书的知识点概要记录
  • 在线仿真器ST-Link为例的整体认知
  • 【Hot100】LeetCode—84. 柱状图中最大的矩形
  • 高等数学 2.4 隐函数及由参数方程确定的函数的导数
  • C# 异步编程场景
  • 鸿蒙开发之ArkTS 基础五 箭头函数
  • 信息安全工程师(5)域名与域名解析
  • 力扣周赛:第415场周赛
  • python的数据类型详解
  • Java企业面试题3
  • 基于是springboot小区物业管理系统
  • JAVA基础:线程优先级和精灵线程
  • 【演化博弈论】:双方演化博弈的原理与过程
  • java数据结构----图
  • 【Kubernetes】常见面试题汇总(十九)
  • C++第五十一弹---IO流实战:高效文件读写与格式化输出
  • 数据结构之基数排序简介与举例
  • 图像增强技术分析
  • aspcms webshell漏洞复现
  • 卡拉兹(Callatz)猜想也叫(3n+1)猜想