IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Java的JDBC编程 -> 正文阅读

[大数据]Java的JDBC编程


jdbc下载地址:https://mvnrepository.com/

一、java的数据库编程:

1. 什么是jdbc

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。

2.JDBC有什么用呢?

我们用JAVA就能连接到数据库;创建SQL或者MYSQL语句;执行SQL或MYSQL的查询数据库;查看和修改结果记录。

二、JDBC工作原理

JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类:

1.连接常用的接口

提供的接口包括:JAVA API:提供对JDBC的管理链接;JAVA Driver API:支持JDBC管理到驱动器连接。

1、DriverManager :

这个类管理数据库驱动程序的列表。内容是否符合从Java应用程序使用的通信子协议正确的数据库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器被用来建立数据库连接。

2、Driver :

此接口处理与数据库服务器通信。很少直接与驱动程序对象。相反,使用DriverManager中的对象,它管理此类型的对象。它也抽象的与驱动程序对象工作相关的详细信息。

3、Connection :

此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过唯一的连接对象。

4、Statement :

可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。

5、ResultSet :

这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,让你可以通过移动它的数据。

2.JDBC优势:

  1. Java语言访问数据库操作完全面向抽象接口编程
  2. 开发数据库应用不用限定在特定数据库厂商的API
  3. 程序的可移植性大大增强

三、JDBC使用

1.JDBC使用步骤

  • 准备数据库驱动包,并添加到项目的依赖中:

在项目中创建文件夹lib,并将依赖包mysql-connector-java-5.1.47.jar复制到lib中。再配置该jar包到本项目的依赖中:右键点击项目Open
Module Settings,在Modules中,点击项目,配置Dependencies,点击+,JARS or
Directories,将该lib文件夹配置进依赖中,表示该文件夹下的jar包都引入作为依赖。

在这里插入图片描述

  • 建立数据库连接

加载JDBC驱动程序:

			Connection conn = null;
	        Statement s = null;
	        ResultSet r = null;
        	try {
				//反射的方式,加载一个类(类加载:执行静态变量,静态代码块)
	            //数据库驱动包就可以在这种操作下,执行对应的初始化工作(驱动)
	            Class.forName("com.mysql.jdbc.Driver");
	            //获取数据库连接:Connection接口,需要使用jdbc中的,不要使用mysql中的
	            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/java43?user=root&password=123456&useUnicode=true&characterEncoding=UTF-8&useSSL=false");
	            //MySQL数据连接的URL参数格式如下:jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值
	            System.out.println(conn);
	            //通过连接对象创建操作命令对象Statement(使用jdbc中的),该对象是用于操作sql的一个抽象的对象
	            s = conn.createStatement();
	            //查询:
	            // (1)调用Statement操作命令对象的executeQuery(sql)
	            // (2)返回一个ResultSet结果集对象(查询sql执行的结果集)
	            r = s.executeQuery("select id,sn,name,qq_mail,classes_id from student where id>3");
	            //处理结果集:结果集可能是多行数据,需要遍历来获取
	            // 调用next就移动到下一行,返回true代表该行有数据,返回false代表该行没有数据
	            while (r.next()) {//一直遍历到最后
	                //进入循环,代表操作遍历的一行数据
	                int id = r.getInt("id");
	                String sn = r.getString("name");
	                System.out.printf("id=%s, name=%s",id,  name);
	            }
	        }finally {//无论如何,都要释放资源
            //释放资源:
            //(1)无论什么情况(异常)
            //(2)释放的顺序,和创建的顺序要相反(结果集对象,操作命令对象,数据库连接对象)
	            if (r != null) {//出现异常的时候,对象可能还没有赋值(初始化),调用close就会出现空指针异常
	                r.close();
	            }
	            if (s != null) {
	                s.close();
	            }
	            if (conn != null) {
	                conn.close();
	            }
	         }

2.JDBC使用步骤总结

  1. 创建数据库连接Connection
  2. 创建操作命令Statement
  3. 使用操作命令来执行SQL
  4. 处理结果集ResultSet
  5. 释放资源
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:05:51  更:2022-01-08 14:06:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 4:22:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码