JDBC详解学习文档

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 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



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


1.1.1什么是 JDBC


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


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


使用 JDBC 的好处:


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


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



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


image.png


1.2 JDBC 的核心 API


image.png


1.3导入驱动 Jar 包




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 写法:



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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
182 1
|
SQL Java 关系型数据库
Java学习—JDBC
Java学习—JDBC
131 1
|
SQL Java 数据库连接
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)(下)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
636 1
|
SQL Java 关系型数据库
JDBC技术【JDBC概述、获取数据库连接、 下载数据库驱动】(一)-全面详解(学习总结---从入门到深化)
JDBC技术【JDBC概述、获取数据库连接、 下载数据库驱动】(一)-全面详解(学习总结---从入门到深化)
679 0
JDBC技术【JDBC概述、获取数据库连接、 下载数据库驱动】(一)-全面详解(学习总结---从入门到深化)
|
SQL druid Java
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
508 0
|
SQL Java 数据库连接
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)(中)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
177 0
|
SQL Java 关系型数据库
JDBC技术【SQL注入、JDBC批量添加数据、JDBC事务处理、其他查询方式】(三)-全面详解(学习总结---从入门到深化)
JDBC技术【SQL注入、JDBC批量添加数据、JDBC事务处理、其他查询方式】(三)-全面详解(学习总结---从入门到深化)
367 0
|
SQL 存储 Java
JDBC技术【封装JDBC工具类、Statement的使用、PreparedStatement的使用(重点)、ResultSet的使用】(二)-全面详解(学习总结---从入门到深化)
JDBC技术【封装JDBC工具类、Statement的使用、PreparedStatement的使用(重点)、ResultSet的使用】(二)-全面详解(学习总结---从入门到深化)
1049 0
|
Java 关系型数据库 MySQL
JSP 教学文档管理系统myeclipse开发mysql数据库bs框架java编程jdbc
JSP 教学文档管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语,数据库文件名是jspsjxwd.sql,系统名称jxwd,言开发系统主要采用B/S模式开发。
178 0
|
SQL Oracle Java
Java学习之路004——JDBC基础操作
使用JDBC对Mysql数据库进行基础查询操作的演示,包括JDBC连接器下载、引用、使用等。
243 0