我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JDBC系列:(1)通过JDBC连接数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JDBC系列:(1)通过JDBC连接数据库

  • 1、什么是JDBC

  • 2、JDBC连接数据库的三种方式

  • 2.1、第一种实现方式

  • 2.2、第二种实现方式

  • 2.3、第三种实现方式

  • 3、com.mysql.jdbc.Driver的内部实现

1、什么是JDBC


使用java代码(程序)发送sql语句的技术

使用jdbc发送sql前提需要知道:数据库的IP地址、端口、数据名、用户名和密码。


JDBC的URL=协议名+子协议名+数据源名。
a 协议名总是“jdbc”。
b 子协议名由JDBC驱动程序的编写者决定。
c 数据源名也可能包含用户与口令等信息;这些信息也可单独提供。
几种常见的数据库连接


-------------------------------oracle------------------
驱动:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@machine_name:port:dbname
注:machine_name:数据库所在的机器的名称;
      port:端口号,默认是1521

-------------------------------mysql-------------------
驱动:com.mysql.jdbc.Driver
URL:jdbc:mysql://machine_name:port/dbname
注:machine_name:数据库所在的机器的名称;
      port:端口号,默认3306    

---------------------------SQL Server------------------
驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
URL:jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>
注:machine_name:数据库所在的机器的名称;
      port:端口号,默认是1433

--------------------------DB2--------------------------
驱动:com.ibm.db2.jdbc.app.DB2Driver
URL:jdbc:db2://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
      port:端口号,默认是5000
-------------------------------------------------------


2、JDBC连接数据库的三种方式




2.1、第一种实现方式


package com.rk.db.a_jdbc;

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



public class Demo01
{
	public static void main(String[] args) throws SQLException
	{
			// jdbc协议:数据库子协议:主机:端口/连接的数据库   //
			String url = "jdbc:mysql://localhost:3306/testdb";
			String username = "root";
			String password = "root";
			
			//1.创建驱动程序类对象
			Driver driver = new com.mysql.jdbc.Driver();
			
			//设置用户名和密码
			Properties props = new Properties();
			props.setProperty("user", username);
			props.setProperty("password", password);
			
			//2.连接数据库,返回连接对象
			Connection conn = driver.connect(url, props);
			
			System.out.println(conn);
	}
}

2.2、第二种实现方式


package com.rk.db.a_jdbc;

import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;


public class Demo02
{
	public static void main(String[] args) throws SQLException
	{
		String url = "jdbc:mysql://localhost:3306/testdb";
		String username = "root";
		String password = "root";
		
		Driver driver = new com.mysql.jdbc.Driver();
		//1.注册驱动程序(可以注册多个驱动程序)
		DriverManager.registerDriver(driver);
		
		//2.连接到具体的数据库
		Connection conn = DriverManager.getConnection(url, username, password);
		System.out.println(conn);
	}
}

2.3、第三种实现方式


package com.rk.db.a_jdbc;

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

public class Demo03
{
	public static void main(String[] args) throws ClassNotFoundException, SQLException
	{
		String url = "jdbc:mysql://localhost:3306/testdb";
		String user = "root";
		String password = "root";
		
		//通过得到字节码对象的方式加载静态代码块,从而注册驱动程序
		Class.forName("com.mysql.jdbc.Driver");
		
		//连接到具体的数据库
		Connection conn = DriverManager.getConnection(url,user,password);
		System.out.println(conn);
	}

}

3、com.mysql.jdbc.Driver的内部实现



在这里主要解释一个问题,也就是在2.3中,并没有写代码用DriverManager对com.mysql.jdbc.Driver的实例进行注册,原因就在于com.mysql.jdbc.Driver的源码当中。

在com.mysql.jdbc.Driver类中提供了一个static(静态)代码段,如下:

java.sql.DriverManager.registerDriver(new Driver());

完整代码如下:


------com.mysql.jdbc.Driver类中提供了static代码段,主动向DriverManager进行注册
java.sql.DriverManager.registerDriver(new Driver());

package com.mysql.jdbc;

import java.sql.SQLException;

public class Driver extends NonRegisteringDriver implements java.sql.Driver {
    //
    // Register ourselves with the DriverManager
    //
    static {
        try {
            java.sql.DriverManager.registerDriver(new Driver());
        } catch (SQLException E) {
            throw new RuntimeException("Can't register driver!");
        }
    }

    
    public Driver() throws SQLException {
        // Required for Class.forName().newInstance()
    }
}




免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JDBC系列:(1)通过JDBC连接数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

jdbc连接MySql数据库

jdbc连接MySql数据库package com.zhy;import com.mysql.jdbc.Driver;import java.sql.*;public class Te

	jdbc连接MySql数据库
2020-09-18

JDBC | JDBC API详解及数据库连接池

👑 博主简介:    🥇 Java领域新星创作者    🥇 阿里云开发者社区专家博主、星级博主、技术博主 🤝 交流社区:BoBooY(优质编程学习笔记社区) 前言:
2023-08-20

jdbc怎么连接数据库

小编给大家分享一下jdbc怎么连接数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jdbc连接数据库的步骤:1、加载jdbc驱动程序;2、创建数据库的连接;3
2023-06-14

jdbc怎么连接sqlserver数据库

1、下载并安装SQL Server JDBC驱动程序,可以从Microsoft官方网站上下载相应的驱动程序。2、在Java项目中导入SQL Server JDBC驱动程序的jar包。3、使用以下代码连接SQL Server数据库:im
jdbc怎么连接sqlserver数据库
2024-04-09

jdbc如何连接sqlserver数据库

要连接SQL Server数据库,可以按照以下步骤使用JDBC:1、确保已经安装了SQL Server数据库,并且已经创建了数据库和表。2、下载并安装SQL Server的JDBC驱动程序,可以从Microsoft官方网站或者Maven仓
jdbc如何连接sqlserver数据库
2024-04-18

jdbc如何连接oracle数据库

要连接Oracle数据库,您需要执行以下步骤:1. 获取Oracle JDBC驱动程序:首先,您需要下载并获取Oracle JDBC驱动程序。您可以从Oracle官方网站下载适用于您的Oracle数据库版本的JDBC驱动程序。2. 导入JD
2023-08-08

JDBC连接达梦7数据库

DM JDBC 介绍   DM JDBC 驱动程序是 DM数据库的 JDBC 驱动程序,它是一个能够支持基本 SQL 功能 的通用应用程序编程接口,支持一般的 SQL 数据库访问。   通过 JDBC 驱动程序,用户可以在应用程序中实现对 DM 数据库的连接与
JDBC连接达梦7数据库
2019-12-30

jdbc怎么连接mysql数据库

要连接MySQL数据库,需要以下步骤:1. 加载MySQL的JDBC驱动程序。可以从MySQL官方网站下载并安装MySQL Connector/J驱动程序,然后将驱动程序的JAR文件添加到项目的类路径下。2. 使用JDBC的`DriverM
2023-08-19

jdbc怎么连接sql server数据库

要连接 SQL Server 数据库,您需要执行以下步骤:1. 下载并安装 SQL Server JDBC 驱动程序。您可以从 Microsoft 官方网站或 Maven 仓库下载最新版本的驱动程序。2. 在您的项目中导入 JDBC 驱动程
2023-09-11

编程热搜

目录