开发者社区> 流楚丶格念> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JDBC详解学习文档

简介: JDBC详解学习文档
+关注继续查看

官方参考文档:https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html


以下代码案例链接:


https://download.csdn.net/download/weixin_45525272/19571149


1. JDBC 入门


1.1 客户端操作 MySQL 数据库的方式:


使用第三方客户端来访问 MySQL:SQLyog、Navicat、SQLWave、MyDB Studio、EMS SQL Manager for MySQL


image


使用 MySQL 自带的命令行方式、通过 Java 来访问 MySQL 数据库


1.1.1什么是 JDBC


JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。


JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可,数据库驱动由数据库厂商提供。


使用 JDBC 的好处:


程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。


使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库


image


1.1.2 使用 JDBC 开发使用到的包:


image.png


1.2 JDBC 的核心 API


image.png


1.3导入驱动 Jar 包


image


image


1.4加载和注册驱动


image.png


注册驱动代码:


public class Demo1  {
    public static void main(String[] args) throws ClassNotFoundException {
        //抛出类找不到的异常,注册数据库驱动
        Class.forName("com.mysql.jdbc.Driver");
    }
}


com.mysql.jdbc.Driver 源代码:


// Driver 接口,所有数据库厂商必须实现的接口,表示这是一个驱动类。
public class Driver implements java.sql.Driver { 
    public Driver() throws SQLException {
    }

    static { 
        try {
            DriverManager.registerDriver(new Driver());   
            //注册数据库驱动
        } 
        catch (SQLException var1) {
            throw new RuntimeException("Can't register driver!"); 
            }
        }
    
}


注:从 JDBC3 开始,目前已经普遍使用的版本。可以不用注册驱动而直接使用。

Class.forName这句话可以省略。


2. DriverManager


2.1DriverManager 作用:


1)管理和注册驱动


2)创建数据库的连接


2.2类中的方法:


image.png


2.3 使用 JDBC 连接数据库的四个参数:


image.png


2.4 连接数据库的 URL 地址格式:


协议名:子协议://服务器名或 IP 地址:端口号/数据库名?参数=参数值


2.4.1MySQL 写法:


image


2.4.2MySQL 中可以简写:


前提:必须是本地服务器,端口号是 3306


jdbc:mysql:///数据库名


2.4.3乱码的处理


如果数据库出现乱码,可以指定参数: ?characterEncoding=utf8,表示让数据库以 UTF-8 编码来处理数据。


jdbc:mysql://localhost:3306/数据库?characterEncoding=utf8


2.5 案例:得到 MySQL 的数据库连接对象


2.5.1 使用用户名、密码、URL 得到连接对象


package com.sqltest; 
import java.sql.Connection;
import java.sql.DriverManager; 
import java.sql.SQLException;

/**
 * 得到连接对象*/
public class Demo2 {
    public static void main(String[] args) throws SQLException 
    { 
        String url = "jdbc:mysql://localhost:3306/day24";
        //1)    使用用户名、密码、URL 得到连接对象
        Connection connection = DriverManager.getConnection(url, "root", "root");
        //com.mysql.jdbc.JDBC4Connection@68de145
        System.out.println(connection); 
    }
}


2.5.2 使用属性文件和 url 得到连接对象


package com.sqltest;

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException;
import java.util.Properties;

public class Demo3 {
    public static void main(String[] args) throws SQLException {
        //url 连接字符串
        String url = "jdbc:mysql://localhost:3306/day24";
        //属性对象
        Properties info = new Properties();
        //把用户名和密码放在 info 对象中

        info.setProperty("user","root");    
        info.setProperty("password","root");
        Connection connection = DriverManager.getConnection(url, info);
        //com.mysql.jdbc.JDBC4Connection@68de145 System.out.println(connection);
    }
}


3. Connection 接口:


3.1 Connection 作用:


Connection 接口,具体的实现类由数据库的厂商实现,代表一个连接对象。


3.2 Connection 方法:


image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
什么是JDBC学习笔记
快速学习什么是JDBC|
7 0
什么是JDBC学习笔记
快速学习什么是JDBC|
8 0
什么是JDBC学习笔记
快速学习什么是JDBC|
16 0
什么是JDBC学习笔记
快速学习什么是JDBC|
14 0
什么是JDBC学习笔记
快速学习什么是JDBC|
15 0
什么是JDBC学习笔记
快速学习什么是JDBC|
21 0
文档发表
我是一名软件工程专业的学生,目前一年级。在假期的时候老师推荐我们参加阿里云的飞天加速计划领取免费的服务器,试用时间为两周。领取前我在阿里云上完成了学生认证和新手预备训练营,并且学习使用了阿里云的镜像快照等功能
19 0
【DB2学习文档之二】验证安装
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.通过访问 SAMPLE 数据库中的数据来验证是否成功安装了 DB2® 服务器。 过程 在 Linux 上,作为实例所有者登录至系统。
831 0
【ASM学习】ASM文档
在深入介绍ASM的复杂内容之前,首先需要感谢Oracle公司的Nitin Vengurlekar,他负责编写了本章中关于ASM的优秀补充内容。    在Oracle Database 10g Release 2中,使用自动存储管理(Automatic Storage Management,ASM)极大地简化了数据库的存储管理和配置。
943 0
+关注
流楚丶格念
csdn平台优质创作者,51cto TOP博主,360图书馆科技博主,燕山大学目前大三在读,日拱一卒,功不唐捐,加油!!!
1010
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载