JDBC如何获取数据库连接

 更新时间:2018年08月20日 09:09:55   作者:Killer-V  
这篇文章主要为大家详细为大家详细介绍了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)

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

相关文章

  • WebService教程详解(一)

    WebService教程详解(一)

    WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,接下来通过本文给大家介绍WebService教程详解(一),对webservice教程感兴趣的朋友一起学习吧
    2016-03-03
  • Java数据结构之稀疏数组的实现与应用

    Java数据结构之稀疏数组的实现与应用

    这篇文章主要为大家详细介绍了Java数据结构中稀疏数组的实现与应用,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
    2022-10-10
  • Java中二叉树数据结构的实现示例

    Java中二叉树数据结构的实现示例

    这篇文章主要介绍了Java中二叉树数据结构的实现示例,包括前中后序遍历和求二叉树深度的方法,需要的朋友可以参考下
    2015-08-08
  • Java使用Graphics2D绘制SVG和PNG的方法

    Java使用Graphics2D绘制SVG和PNG的方法

    Java提供了许多图形处理类和方法,如Graphics2D、AffineTransform、Stroke等,这些都可以用于绘制SVG图像,Graphics2D是Java中用于绘制2D图形的类,本文给大家介绍如何使用Graphics2D绘制SVG和PNG,需要的朋友可以参考下
    2023-06-06
  • Elasticsearch算分优化方案之rescore_query示例详解

    Elasticsearch算分优化方案之rescore_query示例详解

    这篇文章主要为大家介绍了Elasticsearch算分优化方案之rescore_query示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java如何从List中删除元素的正确用法举例

    Java如何从List中删除元素的正确用法举例

    这篇文章主要给大家介绍了关于Java如何从List中删除元素的正确用法, 列表List是Java中的一种数据结构,存放按照添加顺序的元素,是个有序的集合,需要的朋友可以参考下
    2023-07-07
  • java 数据结构之栈与队列

    java 数据结构之栈与队列

    这篇文章主要介绍了java 数据结构之栈与队列的相关资料,这里对java中的栈和队列都做出实现实例来帮助大家理解学习数据结构,需要的朋友可以参考下
    2017-07-07
  • spring security中的默认登录页源码跟踪

    spring security中的默认登录页源码跟踪

    原来Spring Security有一个默认的WebSecurityConfigurerAdapter,发现其中有一个init方法,于是在这个方法打了断点,在应用启动的时候进行跟踪,这篇文章主要介绍了spring security之 默认登录页源码跟踪,需要的朋友可以参考下
    2021-11-11
  • 用IntelliJ IDEA看Java类图的方法(图文)

    用IntelliJ IDEA看Java类图的方法(图文)

    这篇文章主要介绍了用IntelliJ IDEA看Java类图的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • mybatis-plus 使用Condition拼接Sql语句各方法的用法

    mybatis-plus 使用Condition拼接Sql语句各方法的用法

    这篇文章主要介绍了mybatis-plus 使用Condition拼接Sql语句各方法的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论