欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JDBC如何获取数据库连接

程序员文章站 2024-02-22 16:24:52
jdbc(java database connectivity),即java数据库连接。通过jdbc编程,可以使java应用程序和数据库进行交互。 jdbc驱动的方式有很...

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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。