JDBC如何获取数据库连接

作者:Killer-V 时间:2024-01-23 05:53:50 

JDBC(Java Database Connectivity),即Java数据库连接。通过JDBC编程,可以使Java应用程序和数据库进行交互。

JDBC驱动的方式有很多种,我们常用的驱动方式为:本地协议的纯Java驱动程序。

JDBC编程的第一步,就是要获取数据库连接。所谓的 “获取数据库连接” 其实就是创建java.sql.Connection接口的实现对象。通过Connection的实现对象,可以使Java程序连接到数据库,并修改和获取数据库信息。

获取数据库连接有两种方式:1.通过java.sql.Driver接口获取数据库连接,2.通过java.sql.DriverManager(驱动管理类)获取数据库连接。

为了使程序更具有通用性,我们可以通过读取配置文件的方式来获取连接数据库所需要的信息。这样可以通过修改配置文件的方式,使Java程序连接到不同的数据库。

在进行JDBC编程前,要先导入数据库厂商提供的JDBC驱动程序

以下是获取数据库连接的两种方式的程序演示。 

[1] 通过java.sql.Driver接口获取数据库连接


/**
* 1.通过java.sql.Driver接口获取数据库连接
* 2.使用配置文件读取连接信息,使程序更加灵活
*/
package com.pack02;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.util.Properties;

import org.junit.Test;

public class TestDriver {

@Test
public void testDriver() throws Exception {

//1.将配置文件中的连接信息获取到Properties对象中
 InputStream is =
   this.getClass().getClassLoader().getResourceAsStream("setting.properties");

Properties setting = new Properties();
 setting.load(is);

//2.从Properties对象中读取需要的连接信息
 String driverName = setting.getProperty("driver");
 String url = setting.getProperty("url");
 String user = setting.getProperty("user");
 String password = setting.getProperty("password");

//3.创建Driver对象
 Driver driver = (Driver)Class.forName(driverName).newInstance();

Properties info = new Properties(); //driver的connect方法中需要一个Properties型的参数
 info.put("user", user);
 info.put("password", password);

//4.使用driver的connect方法获取数据库连接
 Connection conn = driver.connect(url, info);
 System.out.println( conn );
}
}

[2] 通过java.sql.DriverManager(驱动管理类)获取数据库连接


/**
* 1.通过java.sql.DriverManager(驱动程序管理类)获取数据库连接
* 2.使用配置文件读取连接信息,使程序更加灵活
*/
package com.pack02;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

import org.junit.Test;

public class TestDriverManager {

@Test
public void testDriverManager() throws Exception {

//1.将配置文件中的连接信息获取到Properties对象中
 InputStream is =
   this.getClass().getClassLoader().getResourceAsStream("setting.properties");

Properties setting = new Properties();
 setting.load(is);

//2.从Properties对象中读取需要的连接信息
 String driverName = setting.getProperty("driver");
 String url = setting.getProperty("url");
 String user = setting.getProperty("user");
 String password = setting.getProperty("password");

//3.加载驱动程序,即将数据库厂商提供的Driver接口实现类加载进内存;
 // 该驱动类中的静态代码块包含有注册驱动的程序,在加载类时将被执行
 Class.forName(driverName);

//4.通过DriverManager类的静态方法getConnection获取数据连接
 Connection conn = DriverManager.getConnection(url, user, password);
 System.out.println( conn );
}
}

[3] 配置文件中需要的连接信息


driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/[....1....]?serverTimezone=GMT%2B8&useSSL=false
user=root
password=[....2....]

注意:

1. 上述信息中,[....1....] 替换成具体的数据库名称,[....2....] 替换成root密码。

2. 在连接高版本的 MySQL 数据库时,要注意 driver 的包路径 (高版本MySQL多了 “cj” ),url 连接地址的补充信息。(笔者的MySQL版本为8.0)

来源:https://www.cnblogs.com/EarthPioneer/p/9500267.html

标签:JDBC,数据库,连接
0
投稿

猜你喜欢

  • 为python设置socket代理的方法

    2021-09-23 16:25:34
  • 【启发】不用循环计算1到100的和

    2009-03-04 12:16:00
  • python Matplotlib模块的使用

    2022-12-26 21:18:37
  • vue实现鼠标滑动展示tab栏切换

    2023-07-02 16:38:05
  • 带你彻底搞懂python操作mysql数据库(cursor游标讲解)

    2024-01-25 21:53:58
  • Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

    2021-02-04 03:22:19
  • python机器学习基础K近邻算法详解KNN

    2024-01-01 05:44:57
  • wxPython色环电阻计算器

    2023-12-21 20:08:54
  • Git 教程之工作流程详解

    2022-03-28 13:04:45
  • python之PyMongo使用总结

    2023-03-11 03:17:48
  • Python中使用Frozenset对象的案例详解

    2023-09-27 09:36:32
  • 人民币的符号的正确表示法?一杠?两杠?¥还是¥呢?

    2010-03-24 12:21:00
  • 虾米网今年三月所用加密解密函数

    2010-08-09 12:54:00
  • 代码总结Python2 和 Python3 字符串的区别

    2023-05-25 00:58:52
  • es6函数之严格模式用法实例分析

    2023-08-09 06:15:40
  • 教你隐藏ACCESS数据库的表名

    2008-05-09 19:45:00
  • np.dot()函数的用法详解

    2023-06-14 02:12:21
  • django celery redis使用具体实践

    2022-12-03 02:45:39
  • 什么是UE,UED?

    2008-07-24 13:26:00
  • 关于网站地图

    2011-01-06 12:14:00
  • asp之家 网络编程 m.aspxhome.com